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”而沒有文件名。)
添加回答
舉報