Javaでファイルを読み込む方法 - FileInputStream

Javaでファイルを読み取る方法– FileInputStream

Javaでは、FileInputStreamは、ファイルからバイトを読み取るために使用されるバイトストリームクラスです。 次の例では、FileInputStreamを使用して「c:/robots.txt」という名前のファイルを読み取り、その内容をコンソールに表示します。

//This is content of file : c:/robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

以下の完全な例を参照してください。

package com.example.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadFileExample {

    public static void main(String[] args) {

        File file = new File("C:/robots.txt");
        FileInputStream fis = null;

        try {
            fis = new FileInputStream(file);

            System.out.println("Total file size to read (in bytes) : "
                    + fis.available());

            int content;
            while ((content = fis.read()) != -1) {
                // convert to char and display it
                System.out.print((char) content);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null)
                    fis.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

次の結果がコンソールに表示されます。

Total file size to read (in bytes) : 90
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

JDK 7の例

更新されたJDK7の例。新しい「try resource close」メソッドを使用してファイルを簡単に処理します。

package com.example.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadFileExample {

    public static void main(String[] args) {

        File file = new File("C:/robots.txt");

        try (FileInputStream fis = new FileInputStream(file)) {

            System.out.println("Total file size to read (in bytes) : "+ fis.available());

            int content;
            while ((content = fis.read()) != -1) {
                // convert to char and display it
                System.out.print((char) content);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

参考文献

  1. http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html

  2. //java/how-to-write-to-file-in-java-fileoutputstream-example/