java.ioパッケージは、データストリームやシリアライゼーション、ファイルシステムを通じたシステム入出力を提供します。

java.ioパッケージのクラス
Class Description
File
Serializable
java.ioパッケージの例外
Exception Description
FileNotFoundException ファイルが見つからないときにスローされる例外

キーボードから文字列を入力する

キーボードから文字列を入力するJavaソースコードの例を次に示す。

import java.io.*;

class KeyboardInput {
    public static void main(String arg[]) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("文字列を入力してください: ");
        try {
            String line = br.readLine();
            System.out.println(line);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

キーボードから文字列を入力するサンプルコードの実行例を次に示す。

$ java KeyboardInput
文字列を入力してください: Java
Java
$

ファイルからデータを入力する

ファイルからデータを読み込み、他のファイルへ書き出す(つまりファイルコピー)例を次に示す。

まずは、FileInputStreamからバイト列を読みだして、FileOutputStreamに書き込む例。

import java.io.*;

class FileCopy1 {
    static final int BUFSIZE = 80;

    public static void main(String arg[]) {
        try {
            FileInputStream fis = new FileInputStream(arg[0]);
            FileOutputStream fos = new FileOutputStream(arg[1]);
            byte buff[] = new byte[BUFSIZE];
            int len;

            while ((len = fis.read(buff, 0, BUFSIZE)) != -1) {
                fos.write(buff, 0, len);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

次に、FileInputStreamから1文字づつ読みだして、FileOutputStreamに1文字づつ書き込む例。

import java.io.*;

class FileCopy2 {
    public static void main(String arg[]) {
        try {
            FileInputStream fis = new FileInputStream(arg[0]);
            FileOutputStream fos = new FileOutputStream(arg[1]);
            int ch;

            while ((ch = fis.read()) != -1) {
                fos.write(ch);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

最後に、BufferedReaderから1行読みだして、PrintStreamに1行書き出す例。

import java.io.*;

class FileCopy3 {
    public static void main(String arg[]) {
        try {
            FileInputStream fis = new FileInputStream(arg[0]);
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
            FileOutputStream fos = new FileOutputStream(arg[1]);
            PrintStream ps = new PrintStream(new BufferedOutputStream(fos));
            String line;

            while ((line = br.readLine()) != null) {
                ps.println(line);
            }
            ps.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

java.io.FileNotFoundException

java.io.FileNotFoundException

スポンサーリンク