2 回答
TA贡献1831条经验 获得超9个赞
相反,您在这里可以做的是使用 split 函数来分解您的命令,如下所示:
String line = bufferedReader.readLine();
String command = line.split(" ")[0];
String fileName = line.substring(command.length);
这样你的文件名将是字符串的其余部分,而命令只是第一个元素。command应该是命令并且fileName应该是文件名。
TA贡献1848条经验 获得超2个赞
如果您在一个输入中获得整个命令,您可以解析出第一个单词——理解这是“动作”——然后剩下的就是文件名。
所以首先你会得到整个命令:
Scanner input=new Scanner(System.in);
System.out.println("Please enter command: ");
String command = input.nextLine();
然后你会想要解析出这个动作。它永远是第一个词。
String action = command.substring(0, command.indexOf(' ')).trim();
String fileName = command.substring(command.indexOf(' ')).trim();
现在您可以检查操作是什么并根据需要使用该文件。
String 的indexOf方法将返回指定字符第一次出现的索引。所以在这种情况下,我们使用它来获取第一个空间的索引。请注意,indexOf如果该字符不存在,它将返回 -1,因此您需要为此进行适当的陷阱。(示例场景:用户只输入“read”而没有文件名。)
添加回答
举报