Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在自定义目录中追加文本文件_C#_.net_File_Stream_File Handling - Fatal编程技术网

C# 在自定义目录中追加文本文件

C# 在自定义目录中追加文本文件,c#,.net,file,stream,file-handling,C#,.net,File,Stream,File Handling,我试图在当前目录中名为“test”的文件夹中创建一个名为“test.txt”的文件,并在其中添加一些文本行 我正在一个程序中使用此代码段,但出现异常,表示另一个进程已在使用文件。这个环节有什么问题吗 DateTime now = DateTime.Now; string time = now.ToString(); string id="test"; string path2 = Path.Combine(Environment.CurrentDirectory, id

我试图在当前目录中名为“test”的文件夹中创建一个名为“test.txt”的文件,并在其中添加一些文本行

我正在一个程序中使用此代码段,但出现异常,表示另一个进程已在使用
文件。这个环节有什么问题吗

DateTime now = DateTime.Now;             
string time = now.ToString();
string id="test";
string path2 = Path.Combine(Environment.CurrentDirectory, id);
string path=Directory.GetCurrentDirectory();
string FileName = Path.Combine(path2, id + ".txt");
File.Create(FileName);
string fullPathName2 = Path.GetFullPath(FileName);             
File.AppendAllText(fullPathName2, time + Environment.NewLine);

这将根据您的问题完成工作。解释内联

string time = DateTime.Now.ToString();
string path = Path.Combine(Environment.CurrentDirectory, "test"); //test folder in current directory
if (!Directory.Exists(path)) //create test directory, if directory does not exist
    Directory.CreateDirectory(path); 
string fileName = Path.Combine(path, "test.txt"); //the file name

File.AppendAllText(fileName, time + Environment.NewLine); //write data to file
出现错误的原因是,您正在使用
File.Create
创建
FileStream
,但在重新使用该文件之前,您不会进行处理!如果要转到File.Create路径,需要像这样更改代码

using(FileStream fs = File.Create(Path.Combine(path, "test.txt")))
{
    fs.Write(...);
}
请看