I/O 스트림 생성이 복잡하다는 평이 있어서 일부를 대체하기 위해 NIO.2 가 나옴.
바이트 스트림의 생성 (NIO.2 기반) - 32챕터 일부 변경됨!
public static void main(String[] args) {
Path fp = Paths.get("data.dat");
try(DataOutputStream out = new DataOutputStream(Files.newOutputStream(fp))) {
out.writeInt(370);
out.writeDouble(3.14);
}
catch(IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Path fp = Paths.get("data.dat");
try(DataInputStream in = new DataInputStream(Files.newInputStream(fp))) {
int num1 = in.readInt();
double num2 = in.readDouble();
System.out.println(num1);
System.out.println(num2);
}
catch(IOException e) {
e.printStackTrace();
}
}
문자 스트림의 생성 (NIO.2 기반) - 32챕터 일부 변경됨!
public static void main(String[] args) {
String ks = "공부에 있어서 . . . ";
String es = "Life is long if . . . ";
Path fp = Paths.get("String.txt");
try(BufferedWriter bw = Files.newBufferedWriter(fp)) {
bw.write(ks, 0, ks.length());
bw.newLine();
bw.write(es, 0, es.length());
}
catch(IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Path fp = Paths.get("String.txt");
try(BufferedReader br = Files.newBufferedReader(fp)) {
String str;
while(true) {
str = br.readLine();
if(str == null)
break;
System.out.println(str);
}
}
catch(IOException e) {
e.printStackTrace();
}
}
'# 02 > Java' 카테고리의 다른 글
[윤성우 열혈자바] 34-1. 쓰레드의 이해와 쓰레드의 생성 (0) | 2019.10.28 |
---|---|
[윤성우 열혈자바] 33-3. NIO 기반의 입출력 (0) | 2019.10.28 |
[윤성우 열혈자바] 33-1. 파일 시스템 (0) | 2019.10.28 |
[윤성우 열혈자바] 32-4. I/O 스트림 기반의 인스턴스 저장 (0) | 2019.10.28 |
[윤성우 열혈자바] 32-3. 문자 스트림의 이해와 활용 (0) | 2019.10.28 |