web-dev-qa-db-ja.com

.Net Coreでファイルを読み書きする方法は?

.Net Coreでファイルを読み書きするオプションは何ですか?

私は最初の.Net Coreアプリに取り組んでおり、File.Read*/File.Write*関数(System.IOからの.Net)の代替を探しています。

40
Ankit

パッケージ: System.IO.FileSystem

System.IO.File.ReadAllText("MyTextFile.txt"); ?
54
Leszek P
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 も使用できます。

20
Biesi Grr

書くには:

using (System.IO.StreamWriter file =
new System.IO.StreamWriter(System.IO.File.Create(filePath).Dispose()))
{
    file.WriteLine("your text here");
}
5
Chien Dang

つかいます:

File.ReadAllLines("My textfile.txt");

参照: https://msdn.Microsoft.com/pt-br/library/s2tte0y1(v = vs.110).aspx

1
prashanth m
    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の倍数で設定できます。ソースファイルとターゲットファイルの両方が開いている間、大きなファイルをバイト単位で読み取り、新しいターゲットファイルにバイト単位で書き込みます。メモリが不足することはありません。

0
RotiBlata

テキストをファイルに書き込むため。

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 "";
    }

参照用 this は、Microsoftの公式ドキュメントリンクです。

0
Faraz Ahmed