c#文件操作示例带详细注释
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.IO;
namespaceExample
{
classProgram
{
staticvoidMain(string[]args)
{
//////////////// 文件打开 下面的代码打开D:\wang.txt文件,并且向文件中写入"hello"
FileStreamtextFile=File.Open(@"D:\wang.txt",FileMode.Append);//以Append方式打开文件(如果不存在,会创建)
byte[]info={(byte)"h",(byte)"e",(byte)"l",(byte)"l",(byte)"o"};//要写入的信息
textFile.Write(info,0,info.Length);//Write方法只能写入byte数组
textFile.Close();//关闭文件流
//////////////////////文件创建
FileStreamnewText=File.Create(@"D:\newText.txt");//创建文件
newText.Close();//关闭文件
//////////////////// 删除文件
File.Delete(@"d:\newText.txt");
////////////////// 文件复制 如果目标文件存在,不允许复制(就是不能覆盖同名文件)
//File.Copy(@"d:\wang.txt",@"d:\CopyWang.txt");
//////////////// 文件移动 只能在同一个盘中移动 如果目标路径不正确,不能移动
//File.Move(@"d:\CopyWang.txt",@"D:\A\movewang.txt");
//////////////////////// 设置文件属性为只读,隐藏
//File.SetAttributes(@"D:\copywang.txt",FileAttributes.ReadOnly|FileAttributes.Hidden);//同时满足多个属性,必须用位或(|).
/////////////// 判断文件是不是存在
if(File.Exists(@"D:\copywang.txt"))//如果存在 即便是隐藏的文件也可以找到
{
File.SetAttributes(@"D:\copywang.txt",FileAttributes.ReadOnly);//重新设置属性后,隐藏的文件也会显示出来,只要不加Hidden属性
Console.WriteLine("找到文件copywang.txt");
}
else
{
Console.WriteLine("没有找到文件CopyWang.txt");
}
/*
此外,File类对于Text文本提供了更多的支持。
?AppendText:将文本追加到现有文件
?CreateText:为写入文本创建或打开新文件
?OpenText:打开现有文本文件以进行读取
但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。
?对txt文件进行“读”操作,示例代码如下:
*/
StreamReadertextReader=newStreamReader(@"D:\wang.txt",System.Text.Encoding.Default);//以默认编码方式打开文件
stringstr=textReader.ReadToEnd();//读取文件
Console.WriteLine("使用StreamReader读取文本内容:"+str);
textReader.Close();
//////////////////对txt文件写内容
StreamWritertextWriter=newStreamWriter(@"D:\wang.txt");
str="Learn.Net";
textWriter.Write(str);
textWriter.Close();
/*
System.IO.Directory类和System.DirectoryInfo类
主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。
*/
Directory.CreateDirectory(@"D:\wang1\wang");//创建目录(文件夹)如果已经存在,则保持;还可以一次创建多级目录
/////////////////////////////////目录属性设置方法
DirectoryInfodirInfo=newDirectoryInfo(@"D:\wang1\wang");//
dirInfo.Attributes=FileAttributes.Hidden;//|FileAttributes.ReadOnly;//设置文件夹属性
/////////////////Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。
//如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。
//Directory.Delete(@"D:\wang1",true);//如果文件设置为ReadOnly,则不能删除
//Directory.Move(@"d:\wang1",@"d:\wang3");//把文件夹wang1移动到文件夹wang3中,相当于把wang1删除,创建一个wang3,再把内容移动到wang3
string[]Directories=Directory.GetDirectories(@"D:\wang3");//获得文件夹wang3的目录
foreach(stringvarinDirectories)
Console.WriteLine(var);
string[]Files=Directory.GetFiles(@"D:\wang1");//获取文件夹wang1下面的所有文件
foreach(stringvarinFiles)
Console.WriteLine(var);
if(Directory.Exists(@"D:\wang1"))
Console.WriteLine("文件夹wang1存在");
/*
在C#中“\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\”。
所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。
*/
Console.ReadLine();
}
}
}
相关文章
- C# 项目没有.sln文件的解决办法:
- c#数组赋初值_C#数组初始化
- C#-FileSystemWatcher文件和文件夹监控
- C#性能测试BenchmarkDotnet
- 【地铁上的Redis与C#】数据类型(一):为什么常用的数据类型是五种
- C# WPF DataGrid下面 使用CheckBox 选中事件
- c#通过操作mongodb gridfs实现文件的数据库存储详解编程语言
- asp.netRepeater取得CheckBox选中的某行某个值的c#写法
- C#设置子窗体在主窗体中居中显示解决方案
- C#SendKeys使用方法介绍
- C#中执行批处理文件(*.bat)的方法代码
- C#之IP地址和整数互转的小例子
- C#TreeView无限级别分类实现方法
- C#对XML文件的各种操作实现方法
- 解析C#中@符号的几种使用方法详解
- c#.NET写txt文件小例子
- C#操作config文件的具体方法
- c#保存窗口位置大小操作类(序列化和文件读写功能)
- c#获取字符串的字节数的方法
- c#使用简单工厂模式实现生成html文件的封装类分享
- c#通过ip获取地理信息
- C#文件操作的简单实例
- c#读写excel文件使用示例
- 从C#程序中调用非受管DLLs的方法
- C#中使用HttpDownLoadHelper下载文件实例
- 基于C#实现的端口扫描器实例代码
- C#运用FileInfo类实现拷贝文件的方法
- C#逐行读取txt文件的方法