使用java.util.Scanner从文件中读取字符串并使用换行符作为分隔符时,字符串的行为异常

用户名

我尝试使用读取文件中的数据java.util.Scanner当我尝试\n用作定界符时,当我尝试向它们添加更多文本时,生成的字符串会产生奇怪的反应。

我有一个名为“ test.txt”的文件,并尝试从中读取数据。然后,我想向每个String添加更多文本,类似于打印方式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:3

\n用作定界符时,为什么没有得到预期的输出

卡罗尔·道贝克(Karol Dowbecki)

test.txt是最有可能使用的是Windows线表示的结束 \r\n,其结果在回车\r仍然存在于String后,它的读取。

确保test.txt使用\n的线delimtier或使用的Windows\r\nScanner.useDelimiter()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java:使用java.util.Base64和android.util.Base64解码base64字符串时,结果不同

使用sed匹配包含换行符的字符串

如何使用任何空格字符作为分隔符分割字符串

在Python中使用换行符分隔字符串

用|分割字符串 Java中的分隔符

在Java中为分隔符分割字符串

如何从用户读取字符串直到遇到换行符(Java)?

如何使用Scanner分割以空格作为分隔符的字符串

如何使用字符作为字符串中的分隔符

我可以使用内置的读取方法将由换行符分隔的字符串放入数组吗?

如何使用.NET(具有任何换行符)获取字符串中的行数

如何使用分隔符获取字符串的前五个字符

如何使用空格作为分隔符以获取字符串中的子字符串?

如何使用Monolog在日志文件中输出带有换行符的字符串?

如何使用Python分割和忽略文件路径字符串中的分隔符

如何使用换行符读取字符串并将其存储到Pandas数据框或python列表中

从Config :: Simple配置文件中使用换行符存储和读取字符串

对于批处理文件,使用“设置”时如何在提示字符串中添加换行符?

JSON.parse使用字符串中的换行符给出异常

如何用“.”分隔字符串 使用 dplyr 作为数据帧中的分隔符

Windows 批处理文件 - 使用某些字符或空格作为分隔符拆分字符串

Java:按照出现的顺序获取字符串中的分隔符

使用 map.reduce 将数组转换为换行符分隔的字符串?

Swift 4.2 使用多个字符作为分隔符提取子字符串

使用 RSQLite 导入 csv 文件时如何忽略带引号的字符串中的分隔符?

使用 java.util.Properties 从属性文件中读取重音字符串

使用 #, | 提取字符串 和 % 分隔符使用 PHP 转换为 HTML 表格

使用 listGetAt 分隔符获取字符串

使用模式/分隔符從掃描儀獲取字符串