文本文件从磁盘读取、写入

本文转自CSDN博客:http://blog.csdn.net/anchenyanyue/article/details/7666370

  1 using System;
  2 using System.Text;
  3 using System.IO;
  4
  5 namespace XXXX.Common
  6 {
  7     /// <summary>
  8     /// 文本文件从磁盘读取、写入
  9     /// </summary>
 10     public class FileHelper
 11     {
 12
 13         /// <summary>
 14         /// 从文件中读取文本内容
 15         /// </summary>
 16         /// <param name="filePath">文本路径</param>
 17         /// <returns>返回文件中的内容</returns>
 18         public static string Read(string filePath)
 19         {
 20             string result = string.Empty;
 21             if (File.Exists(filePath))
 22             {
 23                 using (StreamReader sr = new StreamReader(filePath, Encoding.Default))
 24                 {
 25                     result = sr.ReadToEnd();
 26                     sr.Close();
 27                     return result;
 28                 }
 29             }
 30             return result;
 31         }
 32
 33         /// <summary>
 34         /// 写入文本文件,按默认编码
 35         /// </summary>
 36         /// <param name="filePath">文本文件路径包括文件名</param>
 37         /// <param name="content">写入内容</param>
 38         public static void Write(string filePath, string content)
 39         {
 40             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.Default))
 41             {
 42                 sw.Write(content);
 43                 sw.Close();
 44             }
 45         }
 46         /// <summary>
 47         /// 写入文本文件,以UFT8格式编码
 48         /// </summary>
 49         /// <param name="filePath">文本文件路径包括文件名</param>
 50         /// <param name="content">写入内容</param>
 51         /// <param name="UTF8"></param>
 52         public static void Write(string filePath, string content, bool UTF8)
 53         {
 54             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
 55             {
 56                 sw.Write(content);
 57                 sw.Close();
 58             }
 59         }
 60
 61         /// <summary>
 62         /// 备份文件
 63         /// </summary>
 64         /// <param name="sourceFileName">源文件路径</param>
 65         /// <param name="destFileName">目标文件路径</param>
 66         /// <param name="overwrite">是否覆盖已存在文件</param>
 67         /// <returns></returns>
 68         public static bool BackupFile(string sourceFileName, string destFileName, bool overwrite)
 69         {
 70             bool flag;
 71             if (!File.Exists(sourceFileName))
 72             {
 73                 throw new FileNotFoundException(sourceFileName + "文件不存在!");
 74             }
 75             if (!overwrite && File.Exists(destFileName))
 76             {
 77                 return false;
 78             }
 79             try
 80             {
 81                 File.Copy(sourceFileName, destFileName, true);
 82                 flag = true;
 83             }
 84             catch (Exception exception)
 85             {
 86                 throw exception;
 87             }
 88             return flag;
 89         }
 90
 91         /// <summary>
 92         /// 拷贝文件夹文件
 93         /// </summary>
 94         /// <param name="srcDir"></param>
 95         /// <param name="dstDir"></param>
 96         public static void CopyDirFiles(string srcDir, string dstDir)
 97         {
 98             if (Directory.Exists(srcDir))
 99             {
100                 foreach (string str in Directory.GetFiles(srcDir))
101                 {
102                     string destFileName = Path.Combine(dstDir, Path.GetFileName(str));
103                     File.Copy(str, destFileName, true);
104                 }
105
106                 foreach (string str3 in Directory.GetDirectories(srcDir))
107                 {
108                     string str4 = str3.Substring(str3.LastIndexOf(@"\") + 1);
109                     CopyDirFiles(Path.Combine(srcDir, str4), Path.Combine(dstDir, str4));
110                 }
111             }
112         }
113
114         /// <summary>
115         /// 删除文件夹文件
116         /// </summary>
117         /// <param name="dir"></param>
118         public static void DeleteDirFiles(string dir)
119         {
120             if (Directory.Exists(dir))
121             {
122                 foreach (string str in Directory.GetFiles(dir))
123                 {
124                     File.Delete(str);
125                 }
126                 foreach (string str2 in Directory.GetDirectories(dir))
127                 {
128                     Directory.Delete(str2, true);
129                 }
130             }
131         }
132
133         /// <summary>
134         /// 获得文件最后修改时间
135         /// </summary>
136         /// <param name="file"></param>
137         /// <returns></returns>
138         public static DateTime GetFileLastWriteTime(string file)
139         {
140             if (File.Exists(file))
141             {
142                 return File.GetLastWriteTime(file);
143             }
144             return DateTime.MaxValue;
145         }
146
147         /// <summary>
148         /// 取消文件的只读属性
149         /// </summary>
150         /// <param name="file"></param>
151         public static void RemoveFileReadOnlyAttribute(string file)
152         {
153             File.SetAttributes(file, File.GetAttributes(file) & ~FileAttributes.ReadOnly);
154         }
155     }
156 }
时间: 2024-10-16 19:40:23

文本文件从磁盘读取、写入的相关文章

文本与集合的读取写入方式总结

//1.从文本中读取并添加到集合,按行读取 1 public static void main(String[] args) throws IOException { 2 BufferedReader br = new BufferedReader(new FileReader("g.txt")); 3 ArrayList<String> arr = new ArrayList<>(); 4 5 String line; 6 while ((line = br.

IO流-读取写入缓冲区

例如FileReader和FileWriter在读取的时候是读一次或者写一次就请求磁盘,这样使用的时间非常的长,效率比较低,因此引入BufferedReader和BufferedWriter作为读取和写入的缓存区. 1.BufferedReader一次读取8K的字符流到内存中,当程序读取字符时会先到BufferedReader中读取,若没有的话BufferedReader再从磁盘中读取,一次又是8k 2.BufferedWriter作为写入缓存区,要写入文件的字符流写入BufferedWrite

读写文本文件 ---字符行式读取

File 类 File.OpenWrite 方法 StringWriter 类 File.open //using (StreamWriter sw2 = File.CreateText(cmdFile)) using (StreamWriter sw2 = new StreamWriter(cmdFile,false, Encoding.Default)) //指定写入的编码格式 //-------------------------------------------------------

python读取写入文件方法SringIO,BytesIO

python中不仅仅可以在磁盘中写入文件,还允许直接在内存中直接写入数据:需要借助StringIO和BytesIO来实现: 1.直接操作StringIO from io import StringIO #载入对象 f=StringIO() #创建变量指向对象 f.write('hello,') #写入数据 f.write(' ') f.write('world.') print(f.getvalue()) #依次打印获得的数据 getvalue()的方法用于获取写入的str 2.初始化Strin

Java操作读取写入文本TXT及XML文件内容

package fileIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class ReadTextFile { public BufferedReader bufread; public BufferedWriter bufwriter; File

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序

c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变

c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中.然后再将二进制文件还原并存入b2.txt文件. 参考链接:https://www.jb51.net/article/158695.htm 1 #include <cstdio> 2 #include <

Java里的IO流里的 ObjectInputStream 的读取\写入!

各位好!!我又来了!!今天遇见了一个小问题!! IO流里的对象读取总是出错!各种报错!!神烦啊!!百思不得其解啊!然后就上网百度!找了好久终于让我找到了!下面就让我来说一说! 当你用IO流里的对象流写入的时候,ObjectOutputStream会在文件中的开头和结尾进行一个标识AC/DC,ObjectInputStream会严格的根据开头和结尾来进行读取,当读取不到的时候就会进行报错!! ObjectOutputStream无法将上一次的对象的结尾的DC消除,所以千万不要用FileOutPut

读取/写入文件

读取文件: #直接读取 for line in open("d:\serverlist.txt"): print(line) #使用readline()方法读取 file = open('d:\serverlist.txt')line = file.readline()while line:print(line,end=‘’)file.close() #使用read()方法读取 f = open("d:\out.txt",'r')mm=f.read()f.close