解決済みの質問
Visual Basicについて質問です。
ファイルをD&Dをするとそのファイルのサイズを表示するプログラムをつくっています。
今まで順調だったのですがいざコンパイルしてやってみるとエラーが出てしまいます。
パスに空白文字が含まれているのが原因だとわかったんですがダブルクオーテーションをつけても治りません。
空白文字のないパスなら成功します。
これはこのプログラムのコードで原因があると思われる部分です。↓
Dim path As String = Command().ToString
path.Trim()
Dim ifs As FileStream = New FileStream(path, FileMode.Open)
1,FileStreamでは空白文字のあるパスは使えないのですか?
2,この場合はどうやったら対処できますか?
どなたかVBに詳しい方、ご教授願います。
投稿日時 - 2011-03-18 11:54:03
パスに空白を含むファイルをD&Dすると、自動的に "" で囲まれた文字列がコマンドラインに渡されます。( Explorer が行っている )
なので、プログラム側でダブルクォーテーションをつける必要はありません。
が、逆に、FileStream にはダブルクォーテーションを取り除いたものを渡さなければならないようです。
例えば、↓のような感じです。
Dim path As String = Command().ToString
Dim c(0) As Char
c(0) = """"
path = path.Trim(c)
Dim ifs As FileStream = New FileStream(path, FileMode.Open)
投稿日時 - 2011-03-19 13:40:16
0人が「このQ&Aが役に立った」と投票しています
OKWaveのオススメ
おすすめリンク