使用C#操作文件
读写文本文件
使用C#读写文本文件需要5个步骤:
1.创建文件流
2.创建阅读器或者写入器
3.执行读写操作
4.关闭阅读器或者写入器
5.关闭文件流
例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; //引入命名空间 namespace Demo
{
class Program
{
static void Main(string[] args)
{
//创建文件流
FileStream stream = new FileStream("filePath", FileMode.Create);
//创建写入器
StreamWriter writer = new StreamWriter(stream);
//写入内容
writer.Write("写入");
//关闭写入器
writer.Close();
//关闭文件流
stream.Close();
}
}
}
其中FileStream中的FileMode指的是打开文件的模式,可以根据字面意思来理解,Create就是创建一个文件。
读取文件只是将StreamWriter换成StreamReader。其他的都可以按照文字变成英语来替换。
创建StreamWriter一般有两个参数,一个是FileStream对象,一个是Encoding字符编码,常用的是Default。解决乱码问题。
文件操作
File类:(静态)
Exists(string path)用于检查指定文件是否存在,有返回值,bool类型。
Copy(string sourceFilePath,string destinationFilePath)将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件。
Move(string sourceFilePath,string destinationFilePath)将指定文件移到一个新的路径。
Delete(string path)删除指定的文件,如果指定的文件不存在,则不引发异常。
FileInfo类:(实例)
属性:
Exists:用于检查指定文件是否存在,返回一个布尔值。
Extension:获取表示文件扩展名部分的字符串。
Name:获取文件名。
FullName:获取目录或文件的完整目录。
方法:
CopyTo(string)将现有文件复制到新文件,不允许覆盖现有文件。
Delete()永久删除文件。
MoveTo(string)将指定文件移到新位置(string)。
文件夹操作
Directory类:(静态)
Exists(string path)用于检查指定文件夹在磁盘上是否存在。
Move(string sourceDirName,string destDirName)用于将文件或目录及其内容移到新位置。
Delete(string path,bool recursive)删除指定目录,如果recursive值为true,则删除子目录中的所有的目录内容。
DirectoryInfo类:(实例)
方法与Directory类的方法一致。
GetDirectories():返回当前目录的子目录对象数组,Directory类也有这个方法,但返回值是当前目录的子目录的名称数组。
GetFiles():该方法返回当前目录下的文件列表(FileInfo对象数组)。Directory类也有这个方法,但返回值是指定目录下的文件名数组。
使用静态方法和实例方法操作文件的区别
使用静态方法时每次都会进行安全检查,如果想要多次使用某个文件对象,可以使用实例方法,不必每次都进行安全检查。
使用C#操作文件的更多相关文章
- 虚拟机出现“操作文件.PhysicalDrive1失败”的解决方法
今天打算利用U盘给虚拟机装系统做实验,中途遇到了"操作文件.PhysicalDrive1失败"的错误,试了网上的方法都没有成功,最后自己试了很久总算弄出来了.鉴于本人的基础水平有限 ...
- 【Python】[IO编程]文件读写,StringIO和BytesIO,操作文件和目录,序列化
IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/User ...
- python基础知识---操作文件
一.打开文件 open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )
对于文件夹,文档的操作一直处于一知半解状态,有时间闲下来了,好好练习了一把,对文档,文件的操作有了一个基本的认知, 若要深入了解,还是得通过实际的项目才行了,好了废话不多说,上酸菜!! 注:红色标题为 ...
- C#操作文件夹及文件的方法的使用
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...
- python读写操作文件
with open(xxx,'r,coding='utf-8') as f: #打开文件赋值给F ,并且执行完了之后不需要 f.close(). 在Python 2.7 及以后,with又支持同时 ...
- javaScript中利用ActiveXObject来创建FileSystemObject操作文件
注:如果用javascript读本地文件,遇到安全问题. 需在浏览器中进行设置,如下: 工具—> Internet选项->安全->自定义级别->启用“没有标识为安全的A ...
- Python操作文件、文件夹、字符串
Python 字符串操作 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sSt ...
- golang操作文件的四种方法
golang追加内容到文件末尾 字数349 阅读54 评论0 喜欢2 golang读写文件,网上很多教程了但是今天有个需求,想要把内容追加写到文件末尾google了好久,没有查到研究了一会儿file库 ...
- .net(C#)操作文件的几种方法汇总
.net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...
随机推荐
- Oracle优化:千万级大表逻辑判断的累赘
insert into pntmall_point_detail(PNTMALL_PNT_ID,PNTMALL_PNT_DT,PNTMALL_VALIDITY,PNTMALL_LASTUPDATEDT ...
- Java Swing JScrollPane 设置滚动量
JScrollPane.getVerticalScrollBar().setUnitIncrement(20); 参考:http://bbs.csdn.net/topics/320249228
- 初识Dapper
16年年底开发一个项目,拍卖的项目,对于我这个不入流的程序员来说,雪微是个挑战.程序猿这个行业就是学到老用到老吧.个人比较喜欢sql原生的写法,对EF 还是不怎么感冒,EF 虽然强大,但是用起来还不怎 ...
- Dubbo源码学习--集群负载均衡算法的实现
相关文章: Dubbo源码学习文章目录 前言 Dubbo 的定位是分布式服务框架,为了避免单点压力过大,服务的提供者通常部署多台,如何从服务提供者集群中选取一个进行调用, 就依赖Dubbo的负载均衡策 ...
- [2017.02.07] Lua入门学习记录
#!/home/auss/Projects/Qt/annotated/lua -- 这是第一次系统学习Lua语言 --[[ 参考资料: 1. [Lua简明教程](http://coolshell.cn ...
- Java文件中为什么只能有一个public修饰的类, 并且类名还必须与文件名相同
当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元).每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同(包 ...
- JAVA文件名命名规范
JAVA语言,有严格的大小写区分要示. JAVA源文件名必须符合以下规则: 1.必须以.java结尾.这样才能被编辑器javac.exe所编辑. 2.源文件中如果只有一个类,文件名必须与该类名相同. ...
- c#类,接口,结构,抽象类介绍 以及抽象和接口的比较
c#中的类是最常见的实际上就是对某种类型的对象定义变量和方法的原型. 结构是值类型,而类是引用类型. 1.与类不同,结构的实例化可以不使用 new 运算符.结构可以声明构造函数,但它们必须带参数. 2 ...
- 【craps赌博游戏】
/* cpaps赌博游戏 说明: 一个简单的赌博游戏,游戏规则如下:玩家掷两个骰子,点数为1到6,如果第一次点数和为7或11,则玩家胜,如果点数和为2.3 或12,则玩家输,如果和 为其它点数,则记录 ...
- C语言 动态创建二维数组
/*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include <stdlib.h> #include <stdio.h> #inclu ...