トップページ -> プログラミング -> Java プログラミング入門 -> テキストファイル入出力
[サイトマップへ], [サイト内検索へ]

テキストファイル入出力

ファイルオープン,テキストファイルの読み込みと書き出し,日本語文字コード,行単位での読み込みと書き出し

参考Webページ: http://www.stackasterisk.jp/tech/java/IOapi02_01.jsp


標準入力から1行単位での読み込み(BufferedReader の readLine() メソッドを利用)

要点

標準入力から1行単位での読み込むと,そのまま標準出力に書き出す.

package hoge.hoge.com;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class HelloWorld {
    /* 標準入力から1行単位での読み込むと,そのまま標準出力に書き出す. */
    private static String welcome = "入力してください:";
    private static String prompt = "> ";
    
    public static void main(String[] args) {
        try{
            String line;
            BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("入力してください:");
            System.out.print(prompt);
            while( (line=buf.readLine()) != null ) {
                System.out.println(line);
                System.out.print(prompt);
            }
        }    
        catch(IOException e) {
            e.printStackTrace();
            System.exit(1);
        }
    }
}

[image]

テキストファイルから1行単位での読み込み,書き出し(FileInputStream, FileOutputStream を利用)

サンプルプログラム:FileIOTest.java

package hoge.hoge.com;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class HelloWorld {
    private static String inFileName = "c:\\in.txt";
    private static String outFileName = "c:\\out.txt";
    /* Shift_JIS, ISP-2022-JP, EUC-JP Windows-31J */
    /* 出力時に JISAutoDetect の指定は不可 */
    private static String outFileCoding = "Shift_JIS";
    
    /* テキストファイルの読み出しと書き込みのサンプルプログラム */
    /* (注)バイナリファイルのときは,DataInputStream, DataOutputStream */
    public static void main(String[] args) {
        try{
            String line;
            BufferedReader buf =
                new BufferedReader( new InputStreamReader( new FileInputStream( inFileName ), "JISAutoDetect" ) );
            /* ファイルが存在しない場合には新たに作成.存在する場合には上書き */
            BufferedWriter outFile =
                                new BufferedWriter( new OutputStreamWriter( new FileOutputStream( outFileName ), outFileCoding ) );
            while( (line=buf.readLine()) != null ) {
                outFile.write(line);
                outFile.newLine();
                System.out.println(line);
            }
            buf.close();
            outFile.flush();
            outFile.close();
        }    
        catch(IOException e) {
            e.printStackTrace();
            System.exit(1);
        }
    }
}

[image]

本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]