ほとんどの人がファイルの内容を読み、StringBufferまたはStringに1行ずつ割り当てます。ここにあなたが興味を持っているかもしれない別のトリックがあります – どのように1つのJavaのステートメントで変数に全体のファイルコンテンツを割り当てるか、それを試してください:)
例
この例では、
DataInputStream
を使用してすべてのコンテンツをバイトに変換し、変換されたバイトでString変数を作成します。
package com.mkyong.io;
import java.io.DataInputStream;
import java.io.FileInputStream;
public class App{
public static void main (String args[]) {
try{
DataInputStream dis =
new DataInputStream (
new FileInputStream ("c:\\logging.log"));
byte[]datainBytes = new byte[dis.available()];
dis.readFully(datainBytes);
dis.close();
String content = new String(datainBytes, 0, datainBytes.length);
System.out.println(content);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
出力
これにより、すべての “logging.log”ファイルの内容が出力されます。
10:21:29,425 INFO Version:15 - Hibernate Annotations 3.3.0.GA 10:21:29,441 INFO Environment:509 - Hibernate 3.2.3 10:21:29,441 INFO Environment:542 - hibernate.properties not found 10:21:29,456 INFO Environment:676 - Bytecode provider name : cglib 10:21:29,456 INFO Environment:593 - using JDK 1.4 java.sql.Timestamp handling ............