Javaの変数にファイルの内容を割り当てる方法

ほとんどの人がファイルの内容を読み、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
............