파일입출력
바이트 기반 스트림 - FileStream
File 읽기(입력)
- T05_FileStreamTest.java
- FileInputStream 객체를 이용해 파일 내용 읽기
FileInputStream fis = null;
try {
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();
} catch (FileNotFoundException e) {
System.out.println("지정한 파일이 없습니다.");
} catch (IOException e) {
System.out.println("알 수 없는 입출력 오류입니다.");
}
File 쓰기(출력)
FileOutputStream fos = null;
try {
fos = new FileOutputStream("d:/D_Other/out2.txt");
for(char ch='a'; ch <= 'z'; ch++){
fos.write(ch);
}
System.out.println("파일에 쓰기 작업 완료...");
fos.close();
FileInputStream fis = new FileInputStream("d:/D_Other/out2.txt");
int c;
while((c = fis.read()) != -1) {
System.out.print((char) c);
}
System.out.println();
System.out.println("출력 끝...");
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
문자 기반 스트림 - FileWriter/Reader
FileWriter 파일 쓰기
- 사용자가 입력한 내용을 그대로 파일로 저장하기
InputStreamReader isr = new InputStreamReader(System.in);
FileWriter fw = null;
try {
fw = new FileWriter("d:/D_Other/testChar.txt");
int c;
System.out.println("아무거나 입력하세요.");
while((c = isr.read()) != -1) {
fw.write(c);
}
System.out.println("작업 끝...");
isr.close();
fw.close();
} (IOException e) {
e.printStackTrace();
}
- 1) 콘솔에 입력하기
- 2) 엔터치고 ctrl+z를 눌러 입력 종료
- 3) 파일 확인
FileReader 파일 읽기
FileReader fr = null;
fr = new FileReader("d:/D_Other/testChar2.txt");
int c;
while((c=fr.read()) != -1) {
System.out.print((char) c);
}
fr.close();