파일 읽기
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
//파일 읽기
public class FileIoEx01 {
public static void main(String[] args) {
//null값 : 아무런 값도 존재하지 않음.
FileInputStream fis = null;
BufferedInputStream bis = null; //2차 스트림 선언. (1차 스트림보다 빠름)
// file open - read 방식으로 엶
// fis = new FileInputStream(new File("c:\\dirs\\text.txt"));
try {
fis = new FileInputStream("c:\\dirs\\text.txt"); //직접 파일을 열어도 됨
bis = new BufferedInputStream(fis);
//2차 스트림은 인자를 1차 스트림만 받을 수 있음
int data = 0;
while((data = bis.read()) != -1){ //-1 -> 파일의 끝
System.out.print((char)data); // char로 형변환해줘야함.
//안하면 아스키코드로 나옴
// 한글은 깨짐 ㅠ. 엔터키도 문자로 인식
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}finally{ //파일을 열면 닫아줘야함. 예외처리가 됬을때와 안됫을때 둘다 닫아줘야함.
//둘다 닫아줘야하기 때문에 finally 를 사용!
if(fis != null) try{fis.close();} catch(IOException e){}
if(bis != null) try{bis.close();} catch(IOException e){}
}
}
}
파일 쓰기
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//파일 쓰기
public class FileIoEx02 {
public static void main(String[] args) {
FileOutputStream fos = null;
//파일이 없으면 새로 생성
//false일 경우 덮어쓰기
//true일 경우 이어쓰기
try {
fos = new FileOutputStream("c:\\dirs\\text2.txt", false);
fos.write('a');
fos.write('b');
fos.write('c');
fos.write('\r'); //엔터키값 윈도우 : \r\n (두개 다 써줘야함)
fos.write('\n'); // 유닉스 : \n
fos.write('a');
fos.write('b');
fos.write('c');
} catch (FileNotFoundException e) {
} catch (IOException e) {
} finally{
if(fos != null){
try{fos.close();
}catch(IOException e){}
}
}
}
}
'JAVA' 카테고리의 다른 글
java.io 패키지 실습 - 파일 읽어서 쓰기를 한 클래스 안에서(BufferedOutputStream) (0) | 2013.02.05 |
---|---|
java.io 패키지 실습 - 파일 읽기,쓰기 (2차 스트림)-BufferedInputStream- (0) | 2013.02.05 |
java.io패키지 기본 실습4 (0) | 2013.02.05 |
java.io패키지 기본 실습3 (0) | 2013.02.05 |
java.io패키지 기본 실습2 (0) | 2013.02.05 |