使用streamreader阅读 fruits.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();
}
}
这是我正在尝试编写的文本文件的属性菜单的picture。看到有什么问题?不确定这是设置问题还是代码问题。
这里也是我的fruits.txt文件的picture。
答案 0 :(得分:3)
使用' WriteLine'时,你应该一次传递一个字符串。方法:
for (int i = 0; i < fruitArray1.Length -1 ; i++)
{
fruitwriter.WriteLine(fruitArray1[i])
}
答案 1 :(得分:1)
代码可以正常工作,但它会将newFruits.txt
文件保存到程序运行的bin \ Debug或bin \ Release目录中, not 保存到newFruits.txt
文件中你的项目。
主要评论:
System.String[]
写入输出文件StreamWriter
应包含在using
语句中。答案 2 :(得分:0)
你应该给出你想要检索的元素的索引。
fruitwriter.WriteLine(fruitArray1[0]);
而不是
fruitwriter.WriteLine(fruitArray1);
即使它写了,程序也只能读写一行。
使用循环读取和写入行,并在读完所有行后关闭StreamReader和StreamWriter。