为什么我的StreamWriter没有保存到一个文本文件?
本文关键字:一个 文本 文件 StreamWriter 我的 保存 为什么 | 更新日期: 2023-09-27 18:17:51
我没有问题阅读水果。txt文件与流阅读器,但写到newFruits.txt似乎不工作。
我运行代码,没有错误,然后检查newFruits.txt文件,看到它仍然是空白的。如果有帮助的话,下面是newFruits.txt截图的属性窗口。我检查了其他问题,它们似乎不相似,也不容易理解。有什么建议吗?
using System;
using System.IO;
using System.Globalization;
using System.Threading;
class FruityLoops
{
static void Main()
{
Console.WriteLine("Loading and sorting fruits...");
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
StreamReader fruitreader = new StreamReader("fruits.txt");
string fruitList = fruitreader.ReadLine();
char x = ',';
string[] fruitArray1 = fruitList.Split(x);
Array.Sort(fruitArray1);
fruitreader.Close();
StreamWriter fruitwriter = new StreamWriter("newFruits.txt");
fruitwriter.WriteLine(fruitArray1);
fruitwriter.Close();
}
}
这是我的属性菜单的图片,我也想写的文本文件。看到问题了吗?不确定这是设置问题还是代码问题。
这是我的水果。txt文件的图片。
当你使用'WriteLine'方法时,你应该一次传递一个字符串行:
for (int i = 0; i < fruitArray1.Length -1 ; i++)
{
fruitwriter.WriteLine(fruitArray1[i])
}
代码可以工作,但是它将newFruits.txt
文件保存到程序运行的bin'Debug或bin'Release目录中,而不是保存到newFruits.txt
文件中,这是项目的一部分。
主要的评论:
- 代码将把
-
StreamWriter
s应该封装在using
语句中。
System.String[]
写入输出文件- 您没有提到数组的元素。
你应该给出你想要检索的元素的索引。
fruitwriter.WriteLine(fruitArray1[0]);
代替
fruitwriter.WriteLine(fruitArray1);
即使它写入,程序也只会读取和写入一行。
使用循环读取和写入行,并在读取所有行后关闭StreamReader和StreamWriter。