- 締切済み
VB.NETでNTFSのストリームの読み書き削除
VB.NET(.NET FrameWork 1.1)でNTFSの代替ストリームの読み書き削除をするにはどうすればよいでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- gimmick
- ベストアンサー率49% (134/270)
回答No.2
VB2005で試してみたところ、同様のエラーが発生しました。 どうやらSystem.IO.File.Create()ではストリーム指定のコロンが使えないようですね。 #1の回答は安直でした。すみません。 ちょっと検索してみたのですが、下記のURLにあるソースを元にしてテストコードを書いたところ、 いちおうストリームに書き込めました。(COMを使わないといけないのがいやですが…。) もしかしたら、Win32APIの呼び出しでも可能かもしれません。 http://yaplog.jp/orator/archive/57 # .NET Frameworkのみで可能なのかはわかりませんでした。詳しい方が回答してくれると良いのですが…。
- gimmick
- ベストアンサー率49% (134/270)
回答No.1
参考URLを見る限りでは、通常のファイル操作で可能なようです。(.NET Frameworkでも内部的にはWin32APIを呼ぶはず) ファイル名でストリームを指定してください。
お礼
回答ありがとうございます。 http://jeanne.wankuma.com/tips/file/create.htmlを参考に Dim hStream As System.IO.FileStream Dim hDisposable As System.IDisposable hStream = System.IO.File.Create("C:\Hoge.txt") hStream.Close() hDisposable = hStream hDisposable.Dispose() hStream = System.IO.File.Create("C:\Hoge.txt:test") hStream.Close() hDisposable = hStream hDisposable.Dispose() このようなプログラムで試してみたのですが、 hStream = System.IO.File.Create("C:\Hoge.txt:test") の行で 指定されたパスのフォーマットはサポートされていません。 とエラーが出てしまいます。 c:\hoge.txtは作成されています。