Каковы параметры чтения/записи файлов в .Net Core?
Я работаю над своим первым .Net Core и ищу
File.Read*
/File.Write*
функции (System.IO
из .Net
) альтернативы.
Каковы параметры чтения/записи файлов в .Net Core?
Я работаю над своим первым .Net Core и ищу
File.Read*
/File.Write*
функции (System.IO
из .Net
) альтернативы.
Пакет: System.IO.FileSystem
System.IO.File.ReadAllText("MyTextFile.txt"); ?
FileStream fileStream = new FileStream("file.txt", FileMode.Open);
using (StreamReader reader = new StreamReader(fileStream))
{
string line = reader.ReadLine();
}
Используя System.IO.FileStream и System.IO.StreamReader, Вы можете использовать System.IO.BinaryReader или System.IO.BinaryWriter, а также.
Чтобы написать:
using (System.IO.StreamWriter file =
new System.IO.StreamWriter(System.IO.File.Create(filePath).Dispose()))
{
file.WriteLine("your text here");
}
Использование:
File.ReadAllLines("My textfile.txt");
Ссылка: https://msdn.microsoft.com/pt-br/library/s2tte0y1(v=vs.110).aspx
public static void Copy(String SourceFile, String TargetFile)
{
FileStream fis = null;
FileStream fos = null;
try
{
Console.Write("## Try No. " + a + " : (Write from " + SourceFile + " to " + TargetFile + ")\n");
fis = new FileStream(SourceFile, FileMode.Open, FileAccess.ReadWrite);
fos = new FileStream(TargetFile, FileMode.Create, FileAccess.ReadWrite);
int intbuffer = 5242880;
byte[] b = new byte[intbuffer];
int i;
while ((i = fis.Read(b, 0, intbuffer)) > 0)
{
fos.Write(b, 0, i);
}
Console.Write("Writing file : " + TargetFile + " is successful.\n");
break;
}
catch (Exception e)
{
Console.Write("Writing file : " + TargetFile + " is unsuccessful.\n");
Console.Write(e);
}
finally
{
if (fis != null)
{
fis.Close();
}
if (fos != null)
{
fos.Close();
}
}
}
Код выше будет читать большой файл и записывать в новый большой файл. Значение "intbuffer" может быть установлено кратным 1024. Пока исходный и целевой файл открыты, он читает большой файл байтами и записывает в новый целевой файл байтами. Это не выйдет из памяти.
Для записи любого текста в файл.
public static void WriteToFile(string DirectoryPath,string FileName,string Text)
{
//Check Whether directory exist or not if not then create it
if(!Directory.Exists(DirectoryPath))
{
Directory.CreateDirectory(DirectoryPath);
}
string FilePath = DirectoryPath + "\\" + FileName;
//Check Whether file exist or not if not then create it new else append on same file
if (!File.Exists(FilePath))
{
File.WriteAllText(FilePath, Text);
}
else
{
Text = $"{Environment.NewLine}{Text}";
File.AppendAllText(FilePath, Text);
}
}
Для чтения текста из файла
public static string ReadFromFile(string DirectoryPath,string FileName)
{
if (Directory.Exists(DirectoryPath))
{
string FilePath = DirectoryPath + "\\" + FileName;
if (File.Exists(FilePath))
{
return File.ReadAllText(FilePath);
}
}
return "";
}
Для справки здесь это официальная ссылка на документ Microsoft.
Работает в Net Core 2.1
var file = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "email", "EmailRegister.htm");
string SendData = System.IO.File.ReadAllText(file);