• 締切済み

VB.NETでNTFSのストリームの読み書き削除

VB.NET(.NET FrameWork 1.1)でNTFSの代替ストリームの読み書き削除をするにはどうすればよいでしょうか。

みんなの回答

  • gimmick
  • ベストアンサー率49% (134/270)
回答No.2

VB2005で試してみたところ、同様のエラーが発生しました。 どうやらSystem.IO.File.Create()ではストリーム指定のコロンが使えないようですね。 #1の回答は安直でした。すみません。 ちょっと検索してみたのですが、下記のURLにあるソースを元にしてテストコードを書いたところ、 いちおうストリームに書き込めました。(COMを使わないといけないのがいやですが…。) もしかしたら、Win32APIの呼び出しでも可能かもしれません。 http://yaplog.jp/orator/archive/57 # .NET Frameworkのみで可能なのかはわかりませんでした。詳しい方が回答してくれると良いのですが…。

参考URL:
http://yaplog.jp/orator/archive/57
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

参考URLを見る限りでは、通常のファイル操作で可能なようです。(.NET Frameworkでも内部的にはWin32APIを呼ぶはず) ファイル名でストリームを指定してください。

参考URL:
http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp#ntfs5_topic4
ryuta_mo
質問者

お礼

回答ありがとうございます。 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は作成されています。

関連するQ&A