如何在.Net Core中读/写文件?

Ank*_*kit 44 c# file stream .net-core

在.Net Core中读/写文件的选项有哪些?

我正在开发我的第一个.Net Core应用程序并寻找 File.Read*/ File.Write*功能(System.IO来自.Net)替代品.

Les*_*k P 57

包: System.IO.FileSystem

System.IO.File.ReadAllText("MyTextFile.txt"); ?
Run Code Online (Sandbox Code Playgroud)


Bie*_*Grr 23

FileStream fileStream = new FileStream("file.txt", FileMode.Open);
using (StreamReader reader = new StreamReader(fileStream))
{
    string line = reader.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

使用System.IO.FileStreamSystem.IO.StreamReader.您也可以使用System.IO.BinaryReaderSystem.IO.BinaryWriter.


Chi*_*ang 6

来写:

using (System.IO.StreamWriter file =
new System.IO.StreamWriter(System.IO.File.Create(filePath).Dispose()))
{
    file.WriteLine("your text here");
}
Run Code Online (Sandbox Code Playgroud)

  • 我只是使用两个`using`语句:`using(var fileStream = System.IO.File.Create(filePath))using(var fileWriter = new System.IO.StreamWriter(fileStream)){fileWriter.WriteLine( "在这输入文字"); }` (9认同)
  • `System.IO.File.Create(filePath)`创建一个`FileStream`,它实现`IDisposable`.我不相信处理`StreamWriter`也会处理它正在包装的`FileStream`.在查看反编译代码时,我可以看到它在包装的`Stream`上调用`Close()`,但不是`Dispose()`.当然,垃圾收集器可能会在`Finalize()`操作中处理包装的`Stream`,但这可能会产生意想不到的性能影响. (2认同)

小智 5

适用于 Net Core 2.1

    var file = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "email", "EmailRegister.htm");

    string SendData = System.IO.File.ReadAllText(file);
Run Code Online (Sandbox Code Playgroud)