: 파일로부터 바이트를 읽을 때 문자 단위 스트림으로 처리해주는 스트림
: 파일에 데이터를 쓸 때 문자단위 스트림으로 처리해주는 스트림
FileInputStream fis = new FileInputStream("d:/D_Other/test2.txt");
File file = new File("d:/D_Other/test2.txt");
FileInputStream fis = new FileInputStream(file);
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/test2.txt"의 내용과 크기 출력댐
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:
파일 안에 입력한 문자열 출력댐!
지정한 폴더 -> 파일 열어서 입력됐는지 확인!