ファイルの読み書き FileReader/FileWriter
☆プログラムからコンピュータの中にあるファイルを読み書きする場合
一度に一気に読み込んでいるわけではなく、ファイルを少しずつ読み込んでいる
(一度に読み込むとメモリが足りなくなるから)
コンピュータからプログラムへ読み込んでいる最中に文字が通っている道
…"ストリーム"
・ ファイルから文字を読み込む場合(1文字ずつファイルを読み込む)
→"java.io.FileReader"というAPIを利用する
ex. import java.io*;
public class Main{
public static void main(String[ ] args){
String filename="c:¥text.txt"; //ファイル名をセット
FileReader fr=new FileReader(filename); //ファイルを開く
char c1=(char)fr.read( ); //最初の1文字を読み込む
char c2=(char)fr.read( ); //次の1文字を読み込む
finally fr.close( ); //ファイルを閉じる
}
}
FileReaderとは、「指定されたファイルが源流にある小川」のようなもの
read( );メソッドを呼ぶ度に1文字ずつ文字を取り出せる
read( );の結果が-1の場合、
ファイルを最後まで読み終わったことを意味する
読み終わったら、ファイルが開けっ放しにならないように必ずファイルを閉じる
(どんな時でも処理が実行されるfinallyを最初につけること)
・ ファイルへ文字や文字列を書き込む場合
→"java.io.FileWriter"というAPIを利用する
ex. import java.io*:
public class Main{
public static void main(String[ ]args){
String filename="c:¥¥text.txt"; //ファイル名をセット
FileWriter fw=new FileWriter(filename); //ファイルを開く
fw.write('そ'); //最初の1文字を書き込む
fw.write('れ'); //最初の2文字
finally fw.close( ); //ファイルを閉じる
}
}
FileWriterとは、「指定されたファイルが下流に繋がっている小川」のようなもの
スロリームに流した文字がファイルに書き込まれている
※「Bufferred Writer」クラスを使用することも多い