标签:flush cat color rem pre file turn direct 开始
1、c#文件操作涉及到的命名空间
using System.Text;
using System.IO;
2、路径输入
在上一篇中写到c#格式化输出,这里提一下获取控制台输入。
其实了解一点英语的朋友都知道Write是写那对着的Read是读,针对的对象是控制台。
我们常用的Console.WriteLine是写且带回车,则Console.ReadLine是从用户输入的地方开始读取直到该行结束。
Console.Write是一个字符一个字符的写,则Console.Read是从用户输入的地方开始一个字符一个字符的读取。
用户输入时“\”不用转义。
3、获取文件句柄
利用DirectoryInfo返回目录句柄,虽然目录是一种特殊的文件,但是这里的参数是目录路径不是文件路径。
后再通过该对象的GetFiles方法返回该目录下的文件信息或句柄。
4、读取文件内容
使用StreamReader在内存中开辟一个输入流,将磁盘文件读入到内存中。
然后通过该输入流对象的ReadLine方法读取文件,然后一行一行的输出。
注意:最后需要关闭输入流。
5、写文件
使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.IO; 5 6 /// <summary> 7 /// [功能描述: 8 /// 1、使用 I/O 类列出某一目录下的所有文件名,并输出到标准控制台 9 /// 2、读文本文件(逐行),并输出到标准控制台 10 /// 3、新建一个文件并向文件中写入字符串 11 /// ]<br></br> 12 /// [创 建 者: XXX]<br></br> 13 /// [创建时间: 2017-08-28]<br></br> 14 /// <修改记录 15 /// 修改人=‘‘ 16 /// 修改时间=‘yyyy-mm-dd‘ 17 /// 修改目的=‘‘ 18 /// 修改描述=‘‘ 19 /// /> 20 /// </summary> 21 namespace ConsoleApplication1 22 { 23 class File 24 { 25 public File() 26 { 27 Console.Write("请输入目录路路径:"); 28 string path = Console.ReadLine(); 29 ReadFileName(path); 30 Console.WriteLine(); 31 Console.Write("请输入要读取的文件(默认为路径为上面的路径):"); 32 path += "\\"; 33 string path1 = path + Console.ReadLine(); 34 ReadFileToConsole(path1); 35 Console.WriteLine(); 36 Console.Write("请输入要写入的文件(默认为路径和内容分别为上面的路径和内容):"); 37 string path2 = path + Console.ReadLine(); 38 WriteFile(path1, path2); 39 } 40 41 /// <summary> 42 /// 说明:读取本地文件名 43 /// </summary> 44 /// <param name="path">目录路径</param> 45 /// <returns></returns> 46 /// <remarks>2017-08-28</remarks> 47 private void ReadFileName(string path) 48 { 49 DirectoryInfo dir = new DirectoryInfo(path); 50 FileInfo[] inf = dir.GetFiles(); 51 foreach (FileInfo finf in inf) 52 { 53 Console.WriteLine(finf); 54 } 55 } 56 57 /// <summary> 58 /// 说明:读取本地文件内容到控制台 59 /// </summary> 60 /// <param name="path">文件路径</param> 61 /// <returns></returns> 62 /// <remarks>2017-08-28</remarks> 63 private void ReadFileToConsole(string path) 64 { 65 StreamReader sr = new StreamReader(path, Encoding.Default); 66 String line = null; 67 while ((line = sr.ReadLine()) != null) 68 { 69 Console.WriteLine(line.ToString()); 70 } 71 72 //关闭流 73 sr.Close(); 74 } 75 76 /// <summary> 77 /// 说明:读取本地文件内容写到另一文件中 78 /// </summary> 79 /// <param name="path">文件路径</param> 80 /// <returns></returns> 81 /// <remarks>2017-08-28</remarks> 82 private void WriteFile(string path1, string path2) 83 { 84 StreamReader sr = new StreamReader(path1, Encoding.Default); 85 FileStream fs = new FileStream(path2, FileMode.Create); 86 StreamWriter sw = new StreamWriter(fs); 87 String line = null; 88 while ((line = sr.ReadLine()) != null) 89 { 90 sw.Write(line.ToString()); 91 } 92 93 //清空缓冲区 94 sw.Flush(); 95 96 //关闭流 97 sw.Close(); 98 sr.Close(); 99 fs.Close(); 100 } 101 } 102 }
标签:flush cat color rem pre file turn direct 开始
原文地址:http://www.cnblogs.com/chenhailing/p/7446983.html