【问题标题】:C#- What is the best way for write text to a file from array of stringsC#-从字符串数组将文本写入文件的最佳方法是什么
【发布时间】:2011-04-10 20:50:28
【问题描述】:

组,

我正在寻找将字符串数组写入 .txt 文件的有趣的新方法。 - 每次调用和保存时都会重写此文件。 - 文件名将足够动态,.exe 将知道什么字符串在哪里。

例如:

 ~/someFile.exe "fileName" "string|string|string|"

-在本例中,调用 someFile.exe 将字符串写入此“文件名”。

有什么建议吗?

乍得

【问题讨论】:

    标签: c#-3.0 .net streamwriter


    【解决方案1】:

    如果这不是您要查找的确切调用,它将位于 system.io.file 命名空间中。

    http://msdn.microsoft.com/en-us/library/system.io.file.writealllines.aspx

    在你的 exe 中,你需要在调用它之前根据分隔符将字符串分解成一个数组,string.Split() 将完成这项工作。

    http://msdn.microsoft.com/en-us/library/system.string_methods.aspx

    【讨论】:

    • 谢谢...这些链接非常有用。 ---我试图在这个问题上跳出微软的盒子来思考。
    • 好的,但这可能很困难,因为您仅限于使用框架对象/方法,除非您说,在其他对象中编写一些文件 IO 并将其作为非托管代码导入并使用它。跨度>
    【解决方案2】:

    您可以使用File.WriteAllLines 方法:

    public class Program
    {
        static void Main(string[] args)
        {
            File.WriteAllLines(
                args[0], 
                args[1].Split(new [] { '|' }, StringSplitOptions.RemoveEmptyEntries)
            );
        }
    }
    

    然后拨打:someFile.exe "fileName" "string|string|string|"

    【讨论】:

    • 谢谢...这种方式可以适用于任何第 N 个字符串参数。
    • 不,因为这个程序假设传递了两个参数:第一个代表文件名,第二个代表|分隔的字符串列表。如果您传递的参数少于两个,程序将崩溃,如果传递的参数多于两个,它将忽略第二个参数之后的所有内容。
    • O ok...Darin.. 给拆分的 args[1] 对象值并以动态顺序放置每个字符串怎么样。 --例如:"StringOne|StringTwo|StringThree" --输出文本文件:StringTwo StringOne StringThree
    • @Chad 你试过我提供的例子了吗?
    • 我正在尝试将其与以下内容相匹配:========= public static void Open(string fileName,string arrInput) { string FILE_NAME = fileName + "。文本文件”; if (File.Exists(FILE_NAME)) {Console.WriteLine("{0} 已经存在。", FILE_NAME);文件.删除(文件名); } 使用 (StreamWriter sw = File.CreateText(FILE_NAME)) { sw.WriteLine("{0}", arrInput); sw.Close(); } Console.WriteLine("arrInput {0} :",arrInput.ToString()); Console.ReadKey(true); }
    【解决方案3】:

    我会遍历它并调用StreamWriter.WriteLine
    这是一个展示如何操作的示例:Writing Text to a File

    【讨论】:

      【解决方案4】:

      你能解释一下“文件名足够动态,.exe 会知道什么字符串在哪里”是什么意思吗?

      另外,你说你想要新的和“有趣”的方式。那么你已经想到的又老又无聊的又是什么呢? :-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-28
        • 2010-09-09
        • 2014-01-19
        • 2020-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        相关资源
        最近更新 更多