亲爱的所有 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 系统中进行测试时,这不是问题,因为正斜杠似乎没问题。
谁能帮助我获取完整文件名的正确方法?非常感谢。
矽。