ファイルの読み書きをしたい。これは機能しません。C#でファイルを読み書きする方法
static void Main(string[] args)
{
StreamReader sr = new StreamReader(@"C:\words.txt");
StreamWriter sw = new StreamWriter(@"C:\words.txt");
}
C#でファイルを読み書きするにはどうすればよいですか?
ファイルの読み書きをしたい。これは機能しません。C#でファイルを読み書きする方法
static void Main(string[] args)
{
StreamReader sr = new StreamReader(@"C:\words.txt");
StreamWriter sw = new StreamWriter(@"C:\words.txt");
}
C#でファイルを読み書きするにはどうすればよいですか?
読み込みと書き込みの両方に使用できる単一のストリームが必要です。
FileStream fileStream = new FileStream(
@"c:\words.txt", FileMode.OpenOrCreate,
FileAccess.ReadWrite, FileShare.None);
var fs = File.Open("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite);
var sw = new StreamWriter(fs);
var sr = new StreamReader(fs);
...
fs.Close();
//or sw.Close();
重要なのは、FileAccess.ReadWriteフラグでファイルを開くことです。最初のFileStreamを使用して、必要なStream/String/Binary Reader/Writersを作成できます。
簡単にルートを忘れないでください:このスレッドは、あなたの質問に答えるように思わ
static void Main(string[] args)
{
var text = File.ReadAllText(@"C:\words.txt");
File.WriteAllText(@"C:\words.txt", text + "DERP");
}
を:あなたが必要なもの、基本的にsimultaneous-read-write-a-file
は2 FileStreamを、読み取り操作のための1つ、他を宣言することです書き込み操作のために。 Writer Filestreamはファイルを 'Append'モードで開く必要があります。
FileShare.ReadWriteは必須ではなく、他のアプリケーションがあなたのファイルを使用しているときに他のアプリケーションがそのファイルを読み書きできるようになります。一般的にFileShare.Noneはファイルに書き込む際に優先され、作業中に他の人がファイルにアクセスできないようにします。 – ScottS
@ScottS:コンストラクタに共有モードを理解させることができるので、ReadWriteが必要な限り同意します。 – Samuel
最後に ')' – user194743