/// <summary>
/// 根据路径读一行一行读取出文件类容
/// </summary>
/// <param name="path"></param>
void GetFileContent(string path)
{
if (!System.IO.File.Exists(path)) return;
System.IO.StreamReader reader = new System.IO.StreamReader(path, Encoding.Default);
string content = string.Empty;
while (!reader.EndOfStream)
{
//一行一行的内容
content = reader.ReadLine();
}
reader.Close();
reader.Dispose();
}
C#读写中文文件
/// <summary>
/// 根据路径读一行一行读取出文件类容
/// </summary>
/// <param name="path"></param>
void GetFileContent(string path)
{
if (!System.IO.File.Exists(path)) return;
System.IO.StreamReader reader = new System.IO.StreamReader(path, Encoding.Default);
string content = string.Empty;
while (!reader.EndOfStream)
{
//一行一行的内容
content = reader.ReadLine();
}
reader.Close();
reader.Dispose();
}
using System.Text;
轻松解决C#读写文件遇到的中文乱码问题
对C#读写文件网上的帖子泛滥成灾,百度一下就能轻松找到用C#对文件读写、打开、追加、打开、删除、移动、创建目录等操作。和Java一样,C#提供的类库能够轻松实现对文件的操作。
//C#写入/读出文本文件
string fileName =@"c:/111.txt";
StreamReader sr = new StreamReader(fileName); //改为StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));
string str=sr.ReadLine ();
sr.close();
StreamWriter rw=File.CreateText(Server.MapPath(".")+"//myText.txt");
rw.WriteLine("写入");
rw.WriteLine("abc");
rw.WriteLine(".NET笔记");
rw.Flush();
rw.Close();
//打开文本文件
StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt");
StringBuilder output=new StringBuilder();
string rl;
while((rl=sr.ReadLine())!=null)
{
output.Append(rl+"");
}
lblFile.Text=output.ToString();
sr.Close();
//C#追加文件
StreamWritersw=File.AppendText(Server.MapPath(".")+"//myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();
//C#拷贝文件
stringOrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);
//C#删除文件
stringdelFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Delete(delFile);
//C#移动文件
stringOrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Move(OrignFile,NewFile);
//C#创建目录
//创建目录c:/sixAge
DirectoryInfod=Directory.CreateDirectory("c://sixAge");
//d1指向c:/sixAge/sixAge1
DirectoryInfod1=d.CreateSubdirectory("sixAge1");
//d2指向c:/sixAge/sixAge1/sixAge1_1
DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");
//将当前目录设为c:/sixAge
Directory.SetCurrentDirectory("c://sixAge");
//创建目录c:/sixAge/sixAge2
Directory.CreateDirectory("sixAge2");
//创建目录c:/sixAge/sixAge2/sixAge2_1
Directory.CreateDirectory("sixAge2//sixAge2_1");
但是,在对txt文件读的操作中貌似没问题。因为代码能实现文件的读操作,但是所读txt文件包含中文的时候就以乱码显示。查了半天资料,看似复杂的问题其实很简单就能解决,稍微改动一下即可:StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));
轻松解决C#读写文件遇到的中文乱码问题
对C#读写文件网上的帖子泛滥成灾,百度一下就能轻松找到用C#对文件读写、打开、追加、打开、删除、移动、创建目录等操作。和Java一样,C#提供的类库能够轻松实现对文件的操作。
//C#写入/读出文本文件
string fileName =@"c:/111.txt";
StreamReader sr = new StreamReader(fileName); //改为StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));
string str=sr.ReadLine ();
sr.close();
StreamWriter rw=File.CreateText(Server.MapPath(".")+"//myText.txt");
rw.WriteLine("写入");
rw.WriteLine("abc");
rw.WriteLine(".NET笔记");
rw.Flush();
rw.Close();
//打开文本文件
StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt");
StringBuilder output=new StringBuilder();
string rl;
while((rl=sr.ReadLine())!=null)
{
output.Append(rl+"");
}
lblFile.Text=output.ToString();
sr.Close();
//C#追加文件
StreamWritersw=File.AppendText(Server.MapPath(".")+"//myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();
//C#拷贝文件
stringOrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);
//C#删除文件
stringdelFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Delete(delFile);
//C#移动文件
stringOrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Move(OrignFile,NewFile);
//C#创建目录
//创建目录c:/sixAge
DirectoryInfod=Directory.CreateDirectory("c://sixAge");
//d1指向c:/sixAge/sixAge1
DirectoryInfod1=d.CreateSubdirectory("sixAge1");
//d2指向c:/sixAge/sixAge1/sixAge1_1
DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");
//将当前目录设为c:/sixAge
Directory.SetCurrentDirectory("c://sixAge");
//创建目录c:/sixAge/sixAge2
Directory.CreateDirectory("sixAge2");
//创建目录c:/sixAge/sixAge2/sixAge2_1
Directory.CreateDirectory("sixAge2//sixAge2_1");
但是,在对txt文件读的操作中貌似没问题。因为代码能实现文件的读操作,但是所读txt文件包含中文的时候就以乱码显示。查了半天资料,看似复杂的问题其实很简单就能解决,稍微改动一下即可:StreamReader sr = new StreamReader(fileName,Encoding.GetEncoding("gb2312"));