Java の入出力とストリーム
Alex Liu
Software Development Engineer
基本データ型の相互変換
拡大変換(小さい型 → 大きい型)は自動
byte -> short -> char -> int -> long -> float -> double// 拡大変換は自動
byte myByte = 8;
int myInt = myByte;
// 縮小変換は手動
double myDouble = 3.14;
int myInt = (int) myDouble; // (int) に注目
int から char へのキャスト: char data = (char) 123;// 文字 'a' の Unicode 値
int data = 97;
// `int` のまま出力
System.out.print(data);
// `int` を `char` にキャストして出力
System.out.print((char)data);
97
a
FileReader をインポートimport java.io.FileReader;
FileReader fr = new FileReader("example.txt");
int data = fr.read();
// 各文字を読み取り表示
while (data != -1) {
System.out.print((char) data);
data = fr.read();
}
fr.close(); // リソース解放のためにクローズ
BufferedReader - import java.io.BufferedReader;// BufferedReader オブジェクトを作成
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
// .readLine() で行ごとに読む
while ((line = br.readLine())!= null){
System.out.println(line);
}
br.close();
FileWriter:FileWriter をインポートimport java.io.FileWriter;// 新しい `FileWriter` オブジェクトを作成 FileWriter fw = new FileWriter("example.txt"); // `.write()` でファイルに書き込む fw.write("Overwriting the file."); fw.close()
FileWriterappend)にすれば既存内容を上書きせずに追記可能$$
// 追記モードで初期化
FileWriter fw = new FileWriter("example.txt", true);
// ファイルに追記
fw.write("Appending data.");
fw.close()
BufferedWriter - import java.io.BufferedWriter;// BufferedWriter オブジェクトを作成
BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
bw.write("Writing data");
// 改行を追加する .newLine()
bw.newLine();
bw.close();
Java の入出力とストリーム