[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part158 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part158 http://mevius.5ch.net/test/read.cgi/tech/1679783460/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
425: デフォルトの名無しさん (ワッチョイ 9354-ouLR) [] 2023/05/06(土) 20:43:47.65 ID:8uPWyiyX0 非同期ファイルコピーのサンプルを探していたら、FileStream を使う方法と File.Copy を使う方法があるようなのですが、どっちがいいのでしょうか? それぞれのメリット・デメリットが知りたいです。 //方法 1 (FileStream) private static async Task CopyFileAsync(string sourceFilePath, string destinationFilePath) { using (var sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true)) using (var destinationStream = new FileStream(destinationFilePath, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 4096, true)) { await sourceStream.CopyToAsync(destinationStream); } } //方法 2 (File.Copy) private static async Task<bool> CopyFileAsync(string srcFileName, string destFileName) { await Task.Run(() => File.Copy(srcFileName, destFileName)); return true; } http://mevius.5ch.net/test/read.cgi/tech/1679783460/425
429: デフォルトの名無しさん (ワッチョイ 9354-ouLR) [sage] 2023/05/07(日) 00:41:03.38 ID:/tWxMywy0 >>425 の方法でファイルコピー後、コピー先ファイルのタイムスタンプを変更しようとしたら、例外が発生します。 頻度は10回に1回あるかないか程度です。 何が原因でしょうか? static async Task Main(string[] args) { await CopyFileAsync("コピー元ファイル名.txt","コピー先ファイル名.txt"); } static async Task CopyFileAsync(string srcFileName, string destFileName) { using (var srcStream = new FileStream(srcFileName, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, true)) using (var destStream = new FileStream(destFileName, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 4096, true)) { await srcStream.CopyToAsync(destStream); //試しにFlush・Close・Dispose 入れてみたけどダメでした。 srcStream.Flush(); destStream.Close(); srcStream.Close(); destStream.Dispose(); srcStream.Dispose(); } var lastWriteTime = File.GetLastWriteTime(srcFileName); File.SetLastWriteTime(destFileName, lastWriteTime); //ここで、: '別のプロセスで使用されているため、プロセスはファイル 'コピー先ファイル名.txt' にアクセスできません。' http://mevius.5ch.net/test/read.cgi/tech/1679783460/429
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.044s