Byte단위 입출력
코드를 통해 살펴보도록 하겠다
FileInputStream > 파일을 읽어오는 객체
FileOutputStream > 파일에 쓸 수 있게 해주는 객체
read()메소드는 읽을 값이 있을때는 항상 양수를 , 더 이상 읽을 값이 없을 때 -1을 return한다
public class ByteIOExam1 {
public static void main(String[] args){
FileInputStream fis = null; //파일을 읽는 객체
FileOutputStream fos = null; //파일을 쓰는 객체
try {
fis = new FileInputStream("src/javaIO/exam/ByteExam1.java");
fos = new FileOutputStream("byte.txt"); //""안에 아무것도 쓰지 않으면 프로젝트 밑에 생성이 됨
int readData = -1; //더 이상 읽을게 없으면 -1을 리턴
while((readData = fis.read())!= -1){
//read()는 한바이트씩 읽으며 int를 return 4바이트 중 마지막 바이트에 읽어들인 한바이트를 저장
fos.write(readData);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block //닫아주기 위해서
e.printStackTrace();
}
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block //닫아주기 위해서
e.printStackTrace();
}
}
}
}
결과로 byte.txt라는 파일에 한바이트씩 읽힌 값들이 생성된다
*위 게시물은 프로그래머스<자바중급>강의를 보며 복습한 내용을 작성한 글입니다*
'JAVA' 카테고리의 다른 글
JAVA(2022.05.28) - 다양한 타입의 출력(DataOutputStream, DataInputStream) (0) | 2022.05.28 |
---|---|
JAVA(2022.05.27) - Byte 단위 입출력 심화 (0) | 2022.05.27 |
JAVA(2022.05.25)-자바IO (0) | 2022.05.25 |
JAVA(2022.05.24)-java.time패키지 (0) | 2022.05.24 |
JAVA(2022.05.23)-Date,Calendar (0) | 2022.05.23 |