我有一个小文件test.txt,里面包含一个Long数字,而另一段java代码则不断地从文件中读取Long数字。
步骤如下:
运行
echo "123" > test.txt
然后如果你转到 test.txt 文件, vim test.txt -> :set list,你会看到该文件如下所示:
123$
我有一段java代码执行以下操作:
byte[] testBytes = File.readAllBytes(test.txt);
String testString = new String(testBytes); // in debug mode, testString looks like "123\n"
long bytesEverRead = Long.parseLong(testString); // this line throws exception because parseLong("123\n") won't work
正如您在上面看到的,正在从文件中读取“123\n”,这导致我的 parseLong 失败。如何从 test.txt 中读取 123 而不使用\n 。处理这个问题的最佳方法是什么?
最佳答案
您可以使用java.util.Scanner (在 Java 5 中引入)。
Javadoc 页面上有几个示例,但就您而言,它会很简单:
Scanner sc = new Scanner(new File("test.txt"));
long bytesEverRead = sc.nextLong();
关于java - 读取一个目标中包含长数字的小文件并使用回车符\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245235/