ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< MP3プレイヤー 続き | main | MP3プレーヤー インポート処理 >>

JCIFS バグ

前回ちょっと触れたJCIFSのバグについて。
ネットワーク上のディレクトリaaaの中に、
「 b.txt」
というファイルがあった場合(先頭がスペース)、

SmbFile#listFilesメソッドで取り出したファイル名から、先頭のスペースが除去されている。

SmbFile smb = new SmbFile("smb://pc/aaa/");
SmbFile[] subFiles = smb.listFiles();
for(SmbFile subFile : subFiles){
 System.out.println("[" + subFile.getName() + "]");
}

として実行すると、

[b.txt]

となってしまう。

正しくは、
[ b.txt]
とならなければいけない。


また、逆に末尾にスペースがあった場合はもっと深刻だ。
"aaa/b.txt "
がある場合、

先のプログラムを実行すると、
[BLA4TK~H]
のようなわけのわからない文字が出力される。
(このテストはディレクトリ名がaaaではないので、同じ文字が出ないかもしれない)

ただ、同じプログラムを数回実行した場合、常に同じ文字になるので、ゴミとかではなさそうだ。

しかし、どのみちバグではあるだろうと思う。

ちなみに

jcifs-1.3.17.jar

を使用した。



jcifs-1.3.18が出ているようなので、こちらではどうなのかは試していない。
プログラム・開発(その他開発) | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい