如果用户输入的数据不存在,则创建一个.txt文件

本文关键字:一个 文件 txt 创建 输入 用户 数据 不存在 如果 | 更新日期: 2023-09-27 18:03:44

是否有办法使用来自表单中输入的数据的名称来创建文本文件?

string path = @"E:'AppServ'**Example**.txt";
if (!File.Exists(path))
{
    File.Create(path);
}

**Example**为取自用户输入数据的部分。

与此类似Console.Writeline("{0}", userData);

如果用户输入的数据不存在,则创建一个.txt文件

下面是如何在windows上将文件存储到登录用户的My Documents文件夹的示例。

可以修改AppendUserFile函数以支持其他文件模式。这个版本将打开文件进行追加,如果它存在,或者创建它,如果它不存在。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            AppendUserFile("example.txt", tw =>
            {
                tw.WriteLine("I am some new text!");
            });
            Console.ReadKey(true);
        }
        private static bool AppendUserFile(string fileName, Action<TextWriter> writer)
        {
            string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            string filePath = Path.Combine(path, fileName);
            FileStream fs = null;
            if (File.Exists(filePath))
                fs = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.Read);
            else
                fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Read);
            using (fs)
            {
                try
                {
                    TextWriter tw = (TextWriter)new StreamWriter(fs);
                    writer(tw);
                    tw.Flush();
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
    }
}