JLineユーザーの皆様へ
私は最近、コマンドとファイル名の補完を提供するために JLine を使用するコンソール アプリケーションを開発しています。
FileNameCompleter でうまく動作しますが、完全なファイル名を正しく取得できません。
私のコードは以下のようなものです:
List<Completer> loadCompleter =
Arrays.asList(
new StringsCompleter(commands),
new FileNameCompleter(),
new NullCompleter()
);
console.addCompleter(new ArgumentCompleter(loadCompleter));
while ((line = console.readLine()) != null) {
line = line.trim();
// here I print out the line in char.
char[] result = line.toCharArray();
for (int i = 0; i < result.length; i ++) {
System.out.println(result[i] + " : " + (int)result[i]);
}
}
コードの最後の部分で、コンソールから取得した行を出力しています。たとえば、
myCommand test\new\test.txt
出力は myCommand testnewtest.txt です
バックスラッシュが何らかの理由で消えてしまい、正しいファイル パスを取得できませんでした。スラッシュは問題ないように見えるので、Unix のようなシステムでテストしている場合、これは問題ではありません。
完全なファイル名を取得する正しい方法で誰かが私を助けることができますか? どうもありがとう。
シ。