首先,我在StackOverflow中找不到任何相关的帖子。
我正在尝试从终端输入以下文件名:
System.out.println("Get filename");
String m = scanner.next();
System.out.println("Get my name");
String n = scanner.next();
但是我一直只获得第一部分,
eg.:
*filename: File.txt*
我只会得到File.
部分,而不会得到txt
部分。
有什么解决办法吗?我不想使用BufferReader。另外,我尝试过trim()
和nextLine()
都没有成功。
编辑(也是解决方案) :
当我有两台next()
扫描仪彼此紧紧相连时,我发现这对我有用:
System.out.println("Get filename");
scanner.nextLine();
String m = scanner.nextLine();
System.out.println("Get my name");
String n = scanner.next();
我真的不知道为什么。但这有效。
答案 0 :(得分:1)
使用scanner.nextLine()
获取全文。
答案 1 :(得分:0)
由于scanner.next()
将文本与空格分开,因此您应该使用scanner.nextLine()
import java.util.Scanner;
public class DemoDate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
System.out.println(text);
}
}