Как читать файл в Java - FileInputStream

Как читать файл в Java - FileInputStream

В JavaFileInputStream - это класс потока байтов, который используется для чтения байтов из файла. В следующем примере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, использующий новый метод «попробуйте закрыть ресурс» для простой обработки файла.

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/