【问题标题】:how to write console output to a text file in vb.net如何将控制台输出写入 vb.net 中的文本文件
【发布时间】:2015-08-07 08:28:33
【问题描述】:

我目前面临一些问题,即无法将控制台输出转换/传输到特定的文本文件。我也尝试使用下面的代码。问题是,它只能从控制台写入第一行,而下一行不能写入文本文件,控制台也退出了。请任何人帮助我。

问候, 领主

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace consoletotext
{
    class Program
    {
        static void Main(string[] args)
        {
            string firstname;
            string myoutline;
            Console.Write(""); // whatever type here
            firstname = Convert.ToString(Console.ReadLine());
            string path = @"file.txt";
            myoutline = firstname;

            if (!File.Exists(path))
            {
                using (StreamWriter sw = File.CreateText(path))
                {
                    sw.WriteLine(myoutline);

                }
            }
            Console.ReadKey();

        }


    }
}

【问题讨论】:

标签: vb.net vb.net-2010 c#-to-vb.net vb.net-to-c#


【解决方案1】:

如果我理解正确,您希望不断将输入写入文件。您需要一个while 循环来检查一些值条件,例如“退出”。 我还认为您想附加到文件,而不是为读取的每一行创建一个新文件,这就是我所展示的:

    static void Main(string[] args)
    {
        string input;
        Console.Write(""); // whatever type here
        input = Console.ReadLine();
        string path = @"file.txt";

        using (StreamWriter sw = new StreamWriter(path, true))
        {
            while (input != "exit")
            {
                sw.Write(input);
                input = Console.ReadLine();
            }
        }
    }

【讨论】:

  • 谢谢。这段代码真的很有帮助。但是我怎么能逐行写入最喜欢以控制台形式写入的文本文件?
  • @cgthanes 添加换行符:sw.Write(input + Environment.NewLine);