반응형
InputStream in = new FileInputStream("date.dat"); // 입력 스트림 생성
int data = in.read(); // 데이터 읽어 들임
OutputStream out = new FileOutputStream("date.dat"); // 출력 스트림 생성
out.write(7); // 데이터 7을 파일에 전달
버퍼 : 스트링 중간에 존재해서 데이터를 한꺼번에 데려오는 수레같은 역할을 함.
이동횟수가 줄기 때문에 속도 개선 효과를 가져다줌
파일 대상 입출력 스트림을 생성한 이후에는 반드시 닫아주어야 한다.
package day21;
import java.io.*;
/*
* 파일 입출력 시 존재하지 않는 파일에 출력을 하기 위한 스트림을 형성하면,
* 파일이 새롭게 만들어진다. 그러나 입력 스트림은 존재하지 않는 파일에 대해 형성할 수 없다.
*/
public class IOstream {
public static void main(String[] args) throws IOException {
OutputStream os = new FileOutputStream("data.dat");
// 아웃풋 스트림이라는 추상 클래스로부터 만들어진 클래스 (다형성 기반)
os.write(7);
os.close();
}
}
package day21;
import java.io.*;
/*
* 파일 입출력 시 존재하지 않는 파일에 출력을 하기 위한 스트림을 형성하면,
* 파일이 새롭게 만들어진다. 그러나 입력 스트림은 존재하지 않는 파일에 대해 형성할 수 없다.
*/
public class IOstream {
public static void main(String[] args) throws IOException {
InputStream os = new FileInputStream("data.dat");
// 아웃풋 스트림이라는 추상 클래스로부터 만들어진 클래스 (다형성 기반)
System.out.println(os.read());
os.close();
}
}
버퍼를 이용하면 입출력 시 속도 개선 효과가 있다.
package day21;
import java.io.*;
/*
* 파일 입출력 시 존재하지 않는 파일에 출력을 하기 위한 스트림을 형성하면,
* 파일이 새롭게 만들어진다. 그러나 입력 스트림은 존재하지 않는 파일에 대해 형성할 수 없다.
*/
public class IOstream {
public static void main(String[] args) throws IOException {
try(OutputStream os = new FileOutputStream("cpy.dat");
InputStream is = new FileInputStream("data.dat")){
byte[] buff = new byte[1024];
int data;
while(true) {
data = is.read(buff);
if(data== -1) {
break;
}
os.write(buff, 0, data);
}
}
}
}
반응형
'자바 > 자바 입문 공부일지' 카테고리의 다른 글
자바 기초 공부 일지 54. 쓰레드Thread 생성과 쓰레드 동기화 방법 (0) | 2022.11.08 |
---|---|
자바 기초 공부 일지 53. I/O 스트림(InputStream, OutputStream) (작성중) (0) | 2022.11.08 |
자바 기초 공부 일지 51. 리덕션, 맵핑Mapping (Map, faltMap) (작성중) (0) | 2022.11.07 |
자바 기초 공부 일지 50. 스트림Stream, 필터링과 맵핑 (0) | 2022.11.07 |
자바 기초 공부 일지 49. 메소드 참조 (작성 수정중) (0) | 2022.11.07 |