FileStream afs = new FileStream(@"D:\a.txt", FileMode.OpenOrCreate);
FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create);
StreamWriter wafs = new StreamWriter(afs);
StreamReader rafs = new StreamReader(afs);
StreamWriter wbfs = new StreamWriter(bfs);
string str = Console.ReadLine();
wafs.Write(str);
wafs.Flush();
string rstr = rafs.ReadToEnd();
//Console.WriteLine("_______________");
Console.WriteLine(rstr); //控制台没有字符串输出
wbfs.Write(rstr); //b.txt里面是空的
wbfs.Flush();
Console.ReadLine();我想先向a.txt写入数据,然后读出里面的数据再写入b.txt 谢谢了
FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create);
StreamWriter wafs = new StreamWriter(afs);
StreamReader rafs = new StreamReader(afs);
StreamWriter wbfs = new StreamWriter(bfs);
string str = Console.ReadLine();
wafs.Write(str);
wafs.Flush();
string rstr = rafs.ReadToEnd();
//Console.WriteLine("_______________");
Console.WriteLine(rstr); //控制台没有字符串输出
wbfs.Write(rstr); //b.txt里面是空的
wbfs.Flush();
Console.ReadLine();我想先向a.txt写入数据,然后读出里面的数据再写入b.txt 谢谢了
读文件核心代码:
byte[] byData = new byte[100];
char[] charData = new char[1000];
try
{
FileStream sFile = new FileStream("文件路径",FileMode.Open);
sFile.Seek(55, SeekOrigin.Begin);
sFile.Read(byData, 0, 100); //第一个参数是被传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
}
catch (IOException e)
{
Console.WriteLine("An IO exception has been thrown!");
Console.WriteLine(e.ToString());
Console.ReadLine();
return;
}
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
Console.ReadLine();
写文件核心代码:
FileStream fs = new FileStream(文件路径,FileMode.Create);
//获得字节数组
byte [] data =new UTF8Encoding().GetBytes(String);
//开始写入
fs.Write(data,0,data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create);
StreamWriter wafs = new StreamWriter(afs);
StreamWriter wbfs = new StreamWriter(bfs);
StreamReader rafs = new StreamReader(afs);
string str = Console.ReadLine();
wafs.Write(str);//将字符写入流
wafs.Flush();//结束写入
afs.Position = 0;//写入a.txt后需要把流的起点设置下,这样rafs读出来的才不是空的
string rstr = rafs.ReadToEnd();
//Console.WriteLine("_______________");
Console.WriteLine(rstr); //控制台没有字符串输出
wbfs.Write(rstr); //b.txt里面是空的
wafs.Flush();
wbfs.Flush();