Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ファイル名
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9072#CommentId11258
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るしぇ
 (社会人)
投稿日時
2009/4/15 00:34:25
>「CHkjklullk」はファイル名として成り立ちません。
多くのシステムでは、カレントフォルダに「CHkjklullk」
というファイルを作ることで成り立ちそうです。
ファイル名とファイルパスを区別して表現したほうが
よさそうです。
また、相対パス(ピリオドから始まる)場合は成り立つと判断
しますか?成り立たないとしますか?
> しかし、いままでこれで悩んで記憶がないのでこの判定が
> できなくても困らなかったのだと思います。
ファイルオープンダイアログあたりを利用すると、使用できない
文字列は除外されそうですね。
> なぜ自分でこの判定を行う必要があるのでしょうか?
例えば、テキストボックスに任意に入力された文字列を
利用してファイルを保存したいが「CHkjklullk」にそのまま
保存しようとしたらエラーが出たとか。その時のプログラムは
こう書いたとか。その時のエラーメッセージはこうだったとか。
そこが知りたいですね。
> System.IO.PathクラスのGetFullPathメソッドが近いでしょうか?
ボクは GetDirectoryName でディレクトリ部分を抜き出して
Directory.Exists で存在調べて、無ければ Directory.CreateDirectory
GetFileName でファイル名を抜き出して
File.Exists で存在調べて、あれば上書き確認。
パスに無効な文字列が含まれていれば、抜き出す処理の例外処理で
キャッチとかを予想しました。
他にも検索に引っかかったもので
http://www.atmarkit.co.jp/fdotnet/dotnettips/551invalidchars/invalidchars.html
余談
http://www.ipa.go.jp/security/awareness/vendor/programming/b08_01.html