StreamWriter不在C#控制台中写入文件

时间:2014-08-16 02:43:36

标签: c# filestream streamwriter writer

我是编程新手,C#是我学习的语言。我的作业说明是:

创建一个名为WritelnventoryRecords的程序,允许您输入在线拍卖网站上销售的商品的数据,并将数据保存到文件中。创建一个Inventory类,其中包含项目编号,描述和要价的字段。

我写的代码不会写入文本文件,它只是空白。我错过了什么?

using System;
using System.IO;
class Inventory
{
    static void Main()
    {
        Console.Write("How many items would you like to enter? ");
        FileStream file = new FileStream("ItemsSold.txt", FileMode.Create, FileAccess.Write);
        StreamWriter writer = new StreamWriter(file);
        int num = Convert.ToInt32(Console.ReadLine());
        int itemNum = 0;
        string desc;
        double price;

        for (int count = 0; count < num; ++count)
        {
            Console.Write("Enter an item number: ");
            itemNum = Convert.ToInt32(Console.ReadLine());
            Console.Write("Enter the item description: ");
            desc = Console.ReadLine();
            Console.Write("Enter the item price (no dollar sign): ");
            price = Convert.ToDouble(Console.ReadLine());
            writer.WriteLine(itemNum + "," + desc + "," + price);
        }
        writer.Close();
        file.Close();
        Console.ReadLine();
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的代码适用于我的计算机。 如果它仍然不起作用,您可以尝试以下步骤:

  1. 打开文件流时,请使用“FileMode.OpenOrCreate”标志。
  2. 使用“file.SetLength(0);”重置文件在创建文件steam之后。
  3. 在关闭文件流之前刷新缓冲区:“writer.Flush();”

    ===编辑===

  4. 是的,就像@Preston Guillot发布的那样,检查你是否正在打开正确的文件。