0

小さなファイルtest.txtにはLong番号が含まれていますが、ファイルからLongを常に読み取るための別のJavaコードがあります。

手順は次のとおりです。

走る

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が失敗しました。\ nを使用せずにtest.txtから123を読み取るにはどうすればよいですか?これを処理するための最良の方法は何ですか?

4

2 に答える 2

3

java.util.Scanner(Java 5で導入)を使用できます。

Javadocページにはいくつかの例がありますが、あなたの場合は次のように簡単です。

Scanner sc = new Scanner(new File("test.txt"));
long bytesEverRead = sc.nextLong();
于 2012-06-28T13:08:10.607 に答える
1

あなたが使うことができます

String testString = new String(testBytes).trim();
long bytesEverRead = Long.parseLong(testString);
于 2012-06-28T13:06:19.513 に答える