テキストファイル入出力(Java を使用)
【サイト内の Java 関連の資料】
標準入力から1行単位での読み込み(BufferedReader の readLine() メソッドを利用)
要点
標準入力から1行単位での読み込むと,そのまま標準出力に書き出す.
- System.in : 標準入力
- line = buf.readLine(); : 1行単位での読み込み
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
/* 標準入力から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);
}
}
}
【Windows での実行】
Windows で,ファイル Main.java を編集し実行するために,次のコマンドを, コマンドプロンプトで実行する.
cd %LOCALAPPDATA%
notepad Main.java
javac -encoding UTF-8 Main.java
java Main

テキストファイルから1行単位での読み込み,書き出し(FileInputStream, FileOutputStream を利用)
【キーワード】 ファイルオープン,テキストファイルの読み込みと書き出し,日本語文字コード,行単位での読み込みと書き出し
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 Main {
private static String inFileName = "c:\\in.txt";
private static String outFileName = "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);
}
}
}
【Windows での実行】
Windows で,ファイル Main.java を編集し実行するために,次のコマンドを, コマンドプロンプトで実行する.
cd %LOCALAPPDATA%
notepad Main.java
javac -encoding UTF-8 Main.java
powershell -command start-process notepad.exe "c:\\in.txt" -verb runas
java Main
type out.txt
