5-1.(5)バイトベースFileStream
バイトベースのストリームタイプ
FileInputStream
:ファイルからバイトを読み込む場合、バイトは文字単位のストリームとみなされます.
FileOutputStream
:ファイルにデータを書き込むときに文字単位でストリーム処理するストリーム
1.ファイル読み込み例
FileInputStreamの使用
FileInputStream fis = new FileInputStream("d:/D_Other/test2.txt");
File file = new File("d:/D_Other/test2.txt");
FileInputStream fis = new FileInputStream(file);
=> int c; int形式で文字を受信し、
T05_FileStreamTest
public class T05_FileStreamTest {
public static void main(String[] args) {
//1>> FileInputStream 객체를 이용한 파일 내용 읽기
FileInputStream fis = null;
try {
//방법1 (파일경로 정보를 문자열로 지정하기)
//fis = new FileInputStream("d:/D_Other/test2.txt");//객체생성
//방법2(파일정보를 File객체를 이용하여 지정하기)
File file = new File("d:/D_Other/test2.txt");
fis = new FileInputStream(file);
int c;//읽어온 데이터를 저장할 변수
while((c=fis.read()) != -1) {
//읽어온 자료 출력하기
System.out.print((char) c);
}
fis.close(); // 다 읽었으면 끝
//length 이용해서 바이트 구해보기
System.out.println("\n파일크기 : "+file.length()+"byte");
}catch(FileNotFoundException ex) {
System.out.println("지정한 파일이 없습니다.");
}catch(IOException ex) {
System.out.println("알 수 없는 입출력 오류입니다.");
}
}
}
Console:「d:/d other/test 2.txt」の内容とサイズはライブラリから出力されます.
2.ファイル出力例
FileOutputStreamの使用
作成
public class T06_FileStreamTest {
public static void main(String[] args) {
//1>>파일에 출력하기
FileOutputStream fos = null;
//2>> write()
try {
//출력용 OutputStream 객체 생성
fos = new FileOutputStream("d:/D_Other/out2.txt");
for(char ch='a'; ch<='z'; ch++) { //byte기반으로 char write 가능 -> 형변환 필요없어서
fos.write(ch);
}
System.out.println("파일에 쓰기 작업 완료...");
//쓰기 작업 완료 후 스트림 닫기
fos.close();
//=================================================
//3>>저장된 파일의 내용을 일거와 화면에 출력하기
FileInputStream fis = new FileInputStream("d:/D_Other/out.txt");
int c;
while((c=fis.read()) != -1) {
System.out.print((char) c);
}
System.out.println();
System.out.println("출력 끝...");
fis.close();
}catch(IOException ex) {
ex.printStackTrace();
}
}
}
Console:ファイルに入力した文字列出力ライブラリ!
指定したフォルダ->ファイルを開き、入力されていることを確認します.
Reference
この問題について(5-1.(5)バイトベースFileStream), 我々は、より多くの情報をここで見つけました https://velog.io/@zhyun1220/5-1.5-바이트기반-FileStreamテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol