電子書籍の厳選無料作品が豊富!

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

A 回答 (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
    • good
    • 0

参考URLを見る限りでは、通常のファイル操作で可能なようです。

(.NET Frameworkでも内部的にはWin32APIを呼ぶはず)
ファイル名でストリームを指定してください。

参考URL:http://www.microsoft.com/japan/msdn/windows/wind …
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/21 12:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!