|
分類:[.NET 全般]
Visual Basic 2010 OS=Windows 10 IOT Enterpriseを使用して電源ぶち切り対策をしています。 ファイルの書き込みでファイルが壊れないようにしたいと思います。
質問 1,ハードディスク保護機能(UWF)を使用して電源ぶち切りでファイルがが壊れる可能性があるのは、どれに該当しますか? 1.1 ファイルの移動 System.IO.File.Move("C:\test\1.txt", "C:\test\3.txt") 1.2 ファイルのコピー System.IO.File.Copy("C:\test\1.txt", "C:\test\2.txt", True) 1.3 XMLファイルの書き込み serializer.Serialize(sw, obj) 1.4 XMLファイルの読み込み serializer.Deserialize(sr), 1.4 XMLファイル名の変更 My.Computer.FileSystem.RenameFile("C:\test\a.txt", "b.txt")
2,ファイルの削除は、for文のループの回数が増えるとアプリケーションの負荷が増えますか? My.Computer.FileSystem.DeleteFile("C:\test\1.txt")
3,ファイルの書き込みをローカルドライブD:\に保存すよりテンポラリフォルダにファイルを一旦作るほうが 項目1.3 serializer.Serialize(sw, obj)良いでしょうか?
Dim tmpDir As String = System.IO.Path.GetTempPath()
現在、電源ぶち切りでファイルが壊れるとNULL文字で埋められてしまいます。
現状の作りは、 元のXMLファイルがあればリネーム、その後、XMLファイルを一時フォルダに作成、ファイルの読み込み(is Nothing)が問題なければ元の保存場所に移動させています。 ファイルの読み込みに失敗すればリネームしたXMLファイルを再度、元の名前に戻しています。
どのように考えるといいのか教えてください。
|