ํ ํ๋ก์ ํธ ํด๋ ๋ด ํน์ ํด๋์ค ์ ํ์ผ๋ง ์์ฑ์ด ์๋๋ฉด ํ๋ก์ ํธ ํด๋์ ๋ฌธ์ ๊ฐ ์๋๋ค.
๊ทธ๋ฅ ์๋ชป ์ฝ๋๋ฅผ ์๋ชป ์์ฑํ๊ฑฐ๋ค.
โป์๋ ๋ด์ฉ์ ๋ชจ๋ ํ์์ ์ง์+๋ํผ์ ์ด๋ 100% ์ ๋ขฐํ์ง ๋ง์ญ์์ค.
์์ ์ฝ๋๋ฅผ ๋ง๋ค์ด์๋ค. ์ด๋ฏธ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ํฐ ์ํ์ ํ์ผ์ ์์ฑํ ํ, ๊ทธ ํ์ผ์ ๋ด์ฉ์ ์ฝ์ด๋ค์ฌ ์๋ก ์์ฑํ ๋๋ค๋ฅธ ํ์ผ์ ์์ฑํ๋ ํ์ผ๋ด์ฉ๋ณต์ฌ ๋ชฉ์ ์ ์ฝ๋์ด๋ค.
์ด ์ฝ๋๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํจ๋ค.
์ฐ์ , ์๋ฐ์ File์ ๋ํด ์์๋ณด๋ฉด
- new File() ์ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ์์ผ์ฃผ๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ด๋ค.
- ํ์ผ ์์ฑ ์ ๊ธฐ์กด์ ์กด์ฌํ๋ ํ์ผ์ด๋ฉด ์๋ก ์์ฑํ์ง ์๋๋ค.
์๋ 10ํ์์ ํด๋น ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ ๊ฒ์ด๋ ๊ฐ์ ํ์ ํ์ผ์ ์์ฑํ ํ ๊ณง๋ฐ๋ก 14ํ์์ ํ์ผ์ ์ฝ์ด๋ค์ด๋๋ฐ, ๋ง์ฝ test.txt ํ์ผ์ด ์กด์ฌํ์ง ์์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํจ ๊ฒ์ด๋ค.
public class FileReaderEx {
public static void main(String[] args) {
String line = "";
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
//์์ฑํ ํ์ผ(์ด๋ฏธ ์กด์ฌํ ๊ฐ๋ฅ์ฑ ์์)
File file1 = new File("test.txt");
//test.txt ํ์ผ ๋ด์ฉ์ ์ฝ์ด์ค๋ ์คํธ๋ฆผ ์์ฑ
try {
fr = new FileReader(file1);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}
br = new BufferedReader(fr);
//์์ฑํ ํ์ผ
File file2 = new File("print.txt");
//print.txt ํ์ผ์ ๋ด์ฉ์ ์์ฑํ๋ ์คํธ๋ฆผ ์์ฑ
try {
fw = new FileWriter(file2, true);
} catch (IOException e1) {
e1.printStackTrace();
}
bw = new BufferedWriter(fw);
//test.txt ํ์ผ์์ ์ฝ์ด์จ ๋ด์ฉ์ print.txt์ ์์ฑ
try {
while(true) {
line = br.readLine();
if(line==null) break;
bw.write(line);
bw.newLine();
}
bw.flush();
br.close(); bw.close();
fr.close(); fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
โ
java.io.FileNotFoundException: test.txt (์ง์ ๋ ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค)
์ปดํ์ผ ํ ์คํธ๋ฅผ ํด๋ณด์๋ค.
- test.txt ํ์ผ ๋ฏธ์กด์ฌ ์ -> ์ค๋ฅ
- test.txt ํ์ผ ์กด์ฌ + ๋ด์ฉ ์์ ์ -> ์ค๋ฅ ์์ด ์คํ
- 10์ค์ ์ฝ๋๋ง ์คํ(=ํ์ผ๋ง ์์ฑ) -> ์ค๋ฅ ์์ด ์คํ๋๋ ํ์ผ์ด ์์ฑ๋์ง ์์
์ ์ฝ๋ ์คํ ์ ํ์ผ ํ์๊ธฐ๋ ๊ฐ๋ฐ ํด ๋ด์์ ์ง์ test.txt๋ฅผ ์์ฑํ ํ(๋ด์ฉX) ์คํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ฐ
test.txt ํ์ผ์ ์ฝ๋ ๋ด์์ ์์ฑํ ํ(์ญ์ ๋ด์ฉX) ์คํํ๋ฉด ์ ์ค๋ฅ๊ฐ ๋๋๊ฐ?
์๋ง ๊ทธ ์ด์ ๋ ๋ด๊ฐ ์์์ 'new File() ์ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ์์ผ์ฃผ๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ด๋ค'๋ผ๊ณ ํ์๋๋ฐ, ์ด๊ฒ๊ณผ ๊ด๋ จ์ด ์์ง ์๋ ์ถ๋ค.
์ฝ๋์์ ์์ ํ ์๋ก์ด ํ์ผ์ ์์ฑํ๊ณ ์ ํ ๋, ์ค์กดํ์ง ์๋ ํ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ด์์ ๊ณง๋ฐ๋ก ๋ด์ฉ์ ์์ฑํด์ฃผ์ง ์์ผ๋ฉด ์ปดํ์ผ๋ฌ๋ ์ด๊ฒ์ ๊ฐ์์ ํ์ผ์ด๋ผ๊ณ ์๊ฐํ์ฌ ์ค์กดํ์ง ์๋๋ค๊ณ ์๊ฐํ๋ ๊ฒ ๊ฐ๋ค. ์ ์ฝ๋์์ test.txt ํ์ผ์ด ์ค์กดํ์ง ์์๋ ํด๋น ํ์ผ๊ณผ ๊ฐ์ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ๊ณ ๊ณง๋ฐ๋ก ์ฝ์ด๋ค์ด๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์์ ํ์ผ์ด๋ผ ์๊ฐํ์ฌ '์กด์ฌํ์ง ์๋ ํ์ผ'์ด๋ผ๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํจ ๊ฒ์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ1. 14-21์ค
ํ์ผ์ ์์ฑํ ๊ฒฝ์ฐ ๊ณง๋ฐ๋ก ๋ด์ฉ์ ์์ฑํด์ค๋ค. ํด๋น ํ์ผ๊ณผ ๊ทธ ๋ด์ฉ์ด ์ด๋ฏธ ์กด์ฌํ ๊ฒฝ์ฐ๋ผ๋ ๊ด์ฐฎ๋ค. ํด๋น ํ์ผ์ ์ ํ์์(๋๋ ์ ํ์์ด์ผํ ) ๋ด์ฉ์ ์์ฑ์ํค๋ ๋ฎ์ด์ฐ๊ธฐํ๋๋ก(๊ฒฐ๊ตญ ์ฝ๋ ์คํ์ ๊ณผ test.txt ํ์ผ์ ๋ด์ฉ์ด ๋ฐ๋์ง ์๋๋ค) FileWriter์์ฑ ์ ๋ด์ฉ์ถ๊ฐ์ฌ๋ถ๋ฅผ false๋ก ์ง์ ํ๋ค.
import java.io.*;
public class FileReaderEx {
public static void main(String[] args) {
String line = "";
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
//์์ฑํ ํ์ผ(์ด๋ฏธ ์กด์ฌํ ๊ฐ๋ฅ์ฑ ์์)
File file1 = new File("test.txt");
//test.txt ๋ด์ฉ ์์ฑ
try {
fw = new FileWriter(file1, false);
fw.write("What should I do is always study.\nhehe");
fw.flush();
} catch (IOException e3) {
e3.printStackTrace();
}
//test.txt ํ์ผ ๋ด์ฉ์ ์ฝ์ด์ค๋ ์คํธ๋ฆผ ์์ฑ
try {
fr = new FileReader(file1);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}
br = new BufferedReader(fr);
//์์ฑํ ํ์ผ
File file2 = new File("print.txt");
//print.txt ํ์ผ์ ๋ด์ฉ์ ์์ฑํ๋ ์คํธ๋ฆผ ์์ฑ
try {
fw = new FileWriter(file2, true);
} catch (IOException e1) {
e1.printStackTrace();
}
bw = new BufferedWriter(fw);
//test.txt ํ์ผ์์ ์ฝ์ด์จ ๋ด์ฉ์ print.txt์ ์์ฑ
try {
while(true) {
line = br.readLine();
if(line==null) break;
bw.write(line);
bw.newLine();
}
bw.flush();
br.close(); bw.close();
fr.close(); fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}โ
ํด๊ฒฐ๋ฐฉ๋ฒ2. 14-23์ค
๋ฐฉ๋ฒ1๊ณผ ๋งฅ๋ฝ์ ๋น์ทํ์ง๋ง ์ปดํ์ผ๋ฌ์๊ฒ ์ด๊ฒ์ด ํจ์ฌ ์ข์ ์ฝ๋์ด๋ค. test.txt ๋ด์ฉ์ถ๊ฐ ์ฝ๋๋ฅผ ํ์ํ์ง ์์ ๋ ์คํํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
import java.io.*;
public class FileReaderEx {
public static void main(String[] args) {
String line = "";
FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
//์์ฑํ ํ์ผ(์ด๋ฏธ ์กด์ฌํ ๊ฐ๋ฅ์ฑ ์์)
File file1 = new File("test.txt");
//test.txt ๋ฏธ์กด์ฌ์ ์๋ก ์์ฑ
if(!file1.exists()) {
try {
fw = new FileWriter(file1);
fw.write("What should I do is always study.\nhehe");
fw.flush();
} catch (IOException e3) {
e3.printStackTrace();
}
}
//test.txt ํ์ผ ๋ด์ฉ์ ์ฝ์ด์ค๋ ์คํธ๋ฆผ ์์ฑ
try {
fr = new FileReader(file1);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}
br = new BufferedReader(fr);
//์์ฑํ ํ์ผ
File file2 = new File("print.txt");
//print.txt ํ์ผ์ ๋ด์ฉ์ ์์ฑํ๋ ์คํธ๋ฆผ ์์ฑ
try {
fw = new FileWriter(file2, true);
} catch (IOException e1) {
e1.printStackTrace();
}
bw = new BufferedWriter(fw);
//test.txt ํ์ผ์์ ์ฝ์ด์จ ๋ด์ฉ์ print.txt์ ์์ฑ
try {
while(true) {
line = br.readLine();
if(line==null) break;
bw.write(line);
bw.newLine();
}
bw.flush();
br.close(); bw.close();
fr.close(); fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}โ
๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ์ด์ง๋ง ๋์ฒ๋ผ ํค๋งธ์ ์ฌ๋์ด ๋ถ๋ช ์ด ์์ ๊ฑฐ๋ผ ์๊ฐํ์ฌ ์์ฑํ ๊ธ์ด๋ค.
'studies > Back-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] ๋ฒํผUI ์๋์ํจ ํด๊ฒฐ (0) | 2020.10.04 |
---|---|
[Unity] ํ๋ก์ ํธ๋ช ๋ฐ๊พธ๊ธฐ (0) | 2020.09.13 |
[Python] ํ๋ฉ์ด๋ ์ฝ๋ / Up & Down Game (0) | 2020.07.23 |
[Dart] dynamic ๋์ ์๋ฃํ (0) | 2020.07.12 |
[Spring] eclipse gradle ํ๋ก์ ํธ์์ ํจํค์ง ๊ฒฝ๋ก ํด๋๊ฐ ๋จ์ง ์์ ๋ (0) | 2020.06.28 |