🎃
プログラミング自主学習 DAY74 OutputStream
OutputStream
すべて入出力ストリームは、Byteに変換される。
OutPutStreamは、最上位のバイト出力ストリームで、抽象クラスだ。
Fileに内部のデーターを保存したい場合は、FileOutputStream
を活用することで、データーを出力することができる。
音楽、映像などはデーターを交換する際に、このストリームを活用する。
OutputStream os = new FileOutputStream("C:/temp/test1.db");
OutputStream os = new FileOutputStream("C:/temp/test1.db", true);
既存のファイルに追加する -> append
OutputStream os = new FileOutputStream("C:/temp/test1.db", false);
既存のファイルにoverwriteする -> 原本損失
1byte 出力
オブジェクト生成時に、パラメーターに絶対経路を入れる必要がある。経路にファイルになければ、自動的に生成される。
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class WriteExample {
public static void main(String[] args) {
try {
OutputStream os = new FileOutputStream("C:/temp/test1.db");
byte a = 10;
byte b = 20;
byte c = 30;
os.write(a);
os.write(b);
os.write(c);
os.flush();
os.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}
3bytesのfileが生成されたことがわかる。
byte[] 出力
一般的には1byteずつよりはbyte[]を一気に出力する場合が多い。
void write(byte[])
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class WriteExample {
public static void main(String[] args) {
try {
OutputStream os = new FileOutputStream("C://tmp/test2.db");
byte[] array = {10,20,30,40,50};
os.write(array,1,3); //arrayの横に整数を入れればみindexを出力
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Discussion