大神们 指点指点 关于文件流的问题

Simeone_xu 2013-04-26 10:09:22
           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 谢谢了
...全文
211 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
luhuiming741cs 2013-04-26
  • 打赏
  • 举报
回复
引用 8 楼 a312100321 的回复:
[quote=引用 5 楼 luhuiming741cs 的回复:] FileStream afs = new FileStream(@"D:\a.txt", FileMode.OpenOrCreate); FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create); StreamWriter wafs = new StreamWriter(afs);……
是我自己粘贴的问题,你已经解决问题了。 [/quote] 老大,你看错了,我是回答问题的,不是发帖的
燕雀之志 2013-04-26
  • 打赏
  • 举报
回复
引用 5 楼 luhuiming741cs 的回复:
FileStream afs = new FileStream(@"D:\a.txt", FileMode.OpenOrCreate); FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create); StreamWriter wafs = new StreamWriter(afs);……
是我自己粘贴的问题,你已经解决问题了。
燕雀之志 2013-04-26
  • 打赏
  • 举报
回复
引用 5 楼 luhuiming741cs 的回复:
FileStream afs = new FileStream(@"D:\a.txt", FileMode.OpenOrCreate); FileStream bfs = new FileStream(@"E:\b.txt", FileMode.Create); StreamWriter wafs = new StreamWriter(afs);……
不需要,可以读出来的。
燕雀之志 2013-04-26
  • 打赏
  • 举报
回复
我试了一下,你的代码没有问题,你还想问什么
luhuiming741cs 2013-04-26
  • 打赏
  • 举报
回复
FileStream afs = new FileStream(@"D:\a.txt", FileMode.OpenOrCreate); 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();
Simeone_xu 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 a312100321 的回复:
你的原因是因为你根本没有写入东西,当让是null了。
怎么没有写入啊 ,我是把控制台输入的字符串写到文件中去啊
燕雀之志 2013-04-26
  • 打赏
  • 举报
回复
你的原因是因为你根本没有写入东西,当让是null了。
Simeone_xu 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 a312100321 的回复:
C# code ? 12345678910111213141516171819202122232425262728293031323334 读文件核心代码: byte[] byData = new byte[100]; char[] charData = new char[1000]; try{ FileStream sFile = new FileStream(……
老大啊 我问的是我那段代码有什么问题啊
燕雀之志 2013-04-26
  • 打赏
  • 举报
回复

读文件核心代码:
 
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();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧