为什么我的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文件的图片。

为什么我的StreamWriter没有保存到一个文本文件?

当你使用'WriteLine'方法时,你应该一次传递一个字符串行:

        for (int i = 0; i < fruitArray1.Length -1 ; i++)
        {
            fruitwriter.WriteLine(fruitArray1[i])
        }

代码可以工作,但是它将newFruits.txt文件保存到程序运行的bin'Debug或bin'Release目录中,而不是保存到newFruits.txt文件中,这是项目的一部分。

主要的评论:

    代码将把System.String[]写入输出文件
  1. StreamWriter s应该封装在using语句中。
  1. 您没有提到数组的元素。

你应该给出你想要检索的元素的索引。

fruitwriter.WriteLine(fruitArray1[0]);

代替

fruitwriter.WriteLine(fruitArray1);
  • 即使它写入,程序也只会读取和写入一行。

    使用循环读取和写入行,并在读取所有行后关闭StreamReader和StreamWriter。