- PR -

絶対パスから相対パスを取得する方法を教えてください。

1
投稿者投稿内容
JUNJUN
常連さん
会議室デビュー日: 2004/11/29
投稿数: 24
投稿日時: 2005-08-29 09:56
おせわになります。

VB.NETで開発を行っています。

件名について、某サイトで基本的な取得方法はわかりました。

URIクラスを使用する方法です。

ただ、URIクラスによる相対パスの取得では日本語を含むパスが良くわからない
文字に変換されてしまいます。

例)
デスクトップ\Test.txt

%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97\Test.txt

日本語を正しく変換するにはどの様にしたら良いのでしょうか?
宜しくお願いいたします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-08-29 10:08
HttpUtility.UrlDecodeでうまくいきそうな気もしますが。
試してません。。。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-29 10:39
引用:

burton999さんの書き込み (2005-08-29 10:08) より:
HttpUtility.UrlDecodeでうまくいきそうな気もしますが。
試してません。。。


正解です。

こちらと同じ質問ですね。
http://dobon.net/vb/bbs/log3-18/11171.html



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
JUNJUN
常連さん
会議室デビュー日: 2004/11/29
投稿数: 24
投稿日時: 2005-08-29 11:14
burton999 様、じゃんぬねっと 様 ありがとうございます。

調査不足の点申し訳ありません。
日本語の問題は解決しました。

ところで、今まで日本語の問題点にばかり気がとられていて気づかなかったのですが、
変換後のパスは私が思っていた相対パスではない気がします。

相対パスといえば、比較元パスから比較先パスへの相対的ルートだと思います。
つまり、同じドライブ上では「..\\〜」だとか、「.\\〜」のようになる必要があると
思うのですがURIでの変換では二つのパスを頭から比較していって異なる点以降を
ただ返してくれているだけのような気がします。

私が求める「絶対パスから相対パスを取得する」というのは、
比較元のファイルに対して比較先のファイルへの相対的なルートを表すパスという事
なのですが、これを取得する方法はないものでしょうか?

宜しくお願いいたします。

burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-08-29 11:22
どのようなコードを書かれたのかわからないのでコメントしようがないのですが。

http://dobon.net/vb/dotnet/file/getabsolutepath.html

ここに書かれている方法で実現できるはずです。
JUNJUN
常連さん
会議室デビュー日: 2004/11/29
投稿数: 24
投稿日時: 2005-08-29 11:53
すみません、勘違いでした。

比較元と比較先の設定が逆だった為になっていたようです。

以後、このようなケアレスミスを犯さないように気をつけます。

burton999様ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)