Javaでファイルコンテンツを変数に割り当てる方法
ほとんどの人はファイルの内容を読み、1行ずつStringBufferまたはStringに割り当てます。 興味を引くかもしれないもう1つのトリックがあります。1つのJavaのステートメントでファイルコンテンツ全体を変数に割り当てる方法です。
例
この例では、DataInputStreamを使用してすべてのコンテンツをバイトに変換し、変換されたバイトで文字列変数を作成します。
package com.example.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 ............