我尝试使用java.util.Scanner
. 当我尝试用作\n
定界符时,当我尝试向它们添加更多文本时,生成的字符串会做出奇怪的反应。
我有一个名为“test.txt”的文件并尝试从中读取数据。然后我想向每个字符串添加更多文本,类似于打印方式Hello World!
:
String helloWorld = "Hello "+"World!"; System.out.println(helloWorld);.
我尝试将数据与 结合起来+
,我尝试过+=
,我尝试过String.concat()
,这以前对我有用,而且通常仍然有效。
我还尝试使用不同的定界符,或者根本不使用定界符,这两种方法都按我的预期工作,但我需要在换行符处分隔字符串。
最小可重现示例的文件test.txt
包含以下文本(每行末尾有一个空格):
零:
一:
二:
三:
void minimalReproducibleExample() throws Exception { //May throw an exception if the test.txt file can't be found
String[] data = new String[4];
java.io.File file = new java.io.File("test.txt");
java.util.Scanner scanner = new java.util.Scanner(file).useDelimiter("\n");
for (int i=0;i<4;i++) {
data[i] = scanner.next(); //read the next line
data[i] += i; //add a number at the end of the String
System.out.println(data[i]); //print the String with the number
}
scanner.close();
}
我希望这段代码打印出这些行:
零:0
一:1
二:2
三:3
我得到这个输出:
0ero:
1ne:
2wo:
三: 3
\n
为什么在用作定界符时没有得到预期的输出?
天涯尽头无女友
UYOU
相关分类