โถ ๋ฌธ์ ๋จ์ ์คํธ๋ฆผ
โ
*Reader
๋ฌธ์ ๋จ์๋ก ์ฝ๋ ์คํธ๋ฆผ ์ค ์ต์์ ์คํธ๋ฆผ
์คํธ๋ฆผ ํด๋์ค |
์ค๋ช |
FileReader |
ํ์ผ์์ ๋ฌธ์ ๋จ์๋ก ์ฝ๋ ์คํธ๋ฆผ ํด๋์ค์ด๋ค. |
InputStreamReader |
byte ๋จ์๋ก ์ฝ์ ์๋ฃ๋ฅผ ๋ฌธ์๋ก ๋ณํํด ์ฃผ๋ ๋ณด์กฐ ์คํธ๋ฆผ ํด๋์ค์ด๋ค. |
BufferedReader |
๋ฌธ์๋ก ์ฝ์ ๋ ๋ฐฐ์ด์ ์ ๊ณตํ์ฌ ํ๊บผ๋ฒ์ ์ฝ์ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด ์ฃผ๋ ๋ณด์กฐ ์คํธ๋ฆผ์ด๋ค. |
๋ฉ์๋ |
์ค๋ช |
int read( ) |
ํ์ผ๋ก๋ถํฐ ํ ๋ฌธ์๋ฅผ ์ฝ๋๋ค. ์ฝ์ ๊ฐ์ ๋ฐํํ๋ค. |
int read(char[ ] buf) |
ํ์ผ๋ก๋ถํฐ buf ๋ฐฐ์ด์ ๋ฌธ์๋ฅผ ์ฝ๋๋ค. |
int read(char[ ] buf, int off, int len) |
ํ์ผ๋ก๋ถํฐ buf ๋ฐฐ์ด์ off ์์น์์๋ถํฐ len ๊ฐ์๋งํผ ๋ฌธ์๋ฅผ ์ฝ๋๋ค. |
void close( ) |
์คํธ๋ฆผ๊ณผ ์ฐ๊ฒฐ๋ ํ์ผ ๋ฆฌ์์ค๋ฅผ ๋ซ๋๋ค. |
โ
โ
โ
*FileReader
FileInputStream๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ผ๋ ค๋ ํ์ผ์ด ์์ผ๋ฉด FileNotFoundException์ด ๋ฐ์ํ๋ค.
Reader ํด๋์ค๋ ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ ํด๋์ค์ด๋ค.
์์ฑ์ |
์ค๋ช |
FileReader(String name) |
ํ์ผ ์ด๋ฆ name(๊ฒฝ๋ก ํฌํจ)์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. |
FileReader(File f) |
File ํด๋์ค ์ ๋ณด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. |
โ
โ
FileInputStreamTest2.java
package stream.inputstream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest2 {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("reader.txt")) { // FileInputStream์ ์์ฑํ ๋ reader.txt ํ์ผ์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉ
int i;
while ((i = fis.read()) != -1) {
System.out.println((char) i);
}
System.out.println("end");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
<์คํ ๊ฒฐ๊ณผ>
-๋ฌธ์๋ฅผ ์ ์ถ๋ ฅํ ๋๋ ๋ฌธ์ ์คํธ๋ฆผ์ ์ฌ์ฉํด์ผ ํ๋ค.
โ
โ
FileReaderTest.java
package stream.reader;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderTest {
public static void main(String[] args) {
try (FileReader fr = new FileReader("reader.txt")) {
int i;
while ((i = fr.read()) != -1) {
System.out.print((char) i);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
โ
*Writer
๋ฌธ์ ๋จ์๋ก ์ถ๋ ฅํ๋ ์คํธ๋ฆผ ์ค ์ต์์ ์คํธ๋ฆผ์ด๋ค.
์คํธ๋ฆผ ํด๋์ค |
์ค๋ช |
FileWriter |
ํ์ผ์ ๋ฌธ์ ๋จ์๋ก ์ถ๋ ฅํ๋ ์คํธ๋ฆผ ํด๋์ค์ด๋ค. |
OutputStreamWriter |
ํ์ผ์ byte ๋จ์๋ก ์ถ๋ ฅํ ์๋ฃ๋ฅผ ๋ฌธ์๋ก ๋ณํํด ์ฃผ๋ ๋ณด์กฐ ์คํธ๋ฆผ์ด๋ค. |
BufferedReader |
๋ฌธ์๋ก ์ธ ๋ ๋ฐฐ์ด์ ์ ๊ณตํ์ฌ ํ๊บผ๋ฒ์ ์ธ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด ์ฃผ๋ ๋ณด์กฐ ์คํธ๋ฆผ์ด๋ค. |
โ
๋ฉ์๋ |
์ค๋ช |
void write(int c) |
ํ ๋ฌธ์๋ฅผ ํ์ผ์ ์ถ๋ ฅํ๋ค. |
void write(char[] buf) |
๋ฌธ์ ๋ฐฐ์ด buf์ ๋ด์ฉ์ ํ์ผ์ ์ถ๋ ฅํ๋ค. |
void write(char[] buf, int off, int len) |
๋ฌธ์ ๋ฐฐ์ด buf์ off ์์น์์๋ถํฐ len ๊ฐ์์ ๋ฌธ์๋ฅผ ํ์ผ์ ์ถ๋ ฅํ๋ค. |
void write(String str) |
๋ฌธ์์ด str์ ํ์ผ์ ์ถ๋ ฅํ๋ค. |
void write(String str, int off, int len) |
๋ฌธ์์ด str์ off๋ฒ์งธ ๋ฌธ์๋ถํฐ len ๊ฐ์๋งํผ ํ์ผ์ ์ถ๋ ฅํ๋ค. |
void flush( ) |
ํ์ผ์ ์ถ๋ ฅํ๊ธฐ ์ ์ ์๋ฃ๊ฐ ์๋ ๊ณต๊ฐ(์ถ๋ ฅ ๋ฒํผ)์ ๋น์ ์ถ๋ ฅํ๋ค. |
void close( ) |
ํ์ผ๊ณผ ์ฐ๊ฒฐ๋ ์คํธ๋ฆผ์ ๋ซ๋๋ค. ์ถ๋ ฅ ๋ฒํผ๋ ๋น์์ง๋ค. |
โ
โ
โ
*FileWriter
๋ค๋ฅธ ์คํธ๋ฆผ ํด๋์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฑ์๋ฅผ ์ฌ์ฉํด์ ์คํธ๋ฆผ์ ์์ฑํ๋ค. FileOutputStream๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ถ๋ ฅ ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ํ์ผ์ ์์ฑํ๋ค.
์์ฑ์ |
์ค๋ช |
FileWriter(String name) |
ํ์ผ ์ด๋ฆ name(๊ฒฝ๋ก ํฌํจ)์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. |
FileWriter(String name, boolean append) |
ํ์ผ ์ด๋ฆ name(๊ฒฝ๋ก ํฌํจ)์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. append ๊ฐ์ด true๋ฉด ํ์ผ ์คํธ๋ฆผ์ ๋ซ๊ณ ๋ค์ ์์ฑํ ๋ ํ์ผ ๋์ ์ด์ด์ ์ด๋ค. ๊ธฐ๋ณธ ๊ฐ์ false์ด๋ค. |
FileWriter(File f) |
File ํด๋์ค ์ ๋ณด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. |
FileWriter(File f, boolean append) |
File ํด๋์ค ์ ๋ณด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์์ฑํ๋ค. append ๊ฐ์ด true๋ฉด ํ์ผ ์คํธ๋ฆผ์ ๋ซ๊ณ ๋ค์ ์์ฑํ ๋ ํ์ผ ๋์ ์ด์ด์ ์ด๋ค. ๊ธฐ๋ณธ ๊ฐ์ false์ด๋ค. |
โ
โ
1. writer.txt ๋นํ์ผ ๋ง๋ค๊ธฐ
โ
2.
package stream.writer;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterTest {
public static void main(String[] args) {
try (FileWriter fw = new FileWriter("writer.txt")) {
fw.write('A'); // ๋ฌธ์ ํ๋ ์ถ๋ ฅ
char buf[] = { 'B', 'C', 'D', 'F', 'G' };
fw.write(buf); // ๋ฌธ์ ๋ฐฐ์ด ์ถ๋ ฅ
fw.write("์๋
ํ์ธ์. ์ ์จ์ง๋ค์"); // ๋ฌธ์์ด ์ถ๋ ฅ
fw.write(buf, 1, 2); // ๋ฌธ์ ๋ฐฐ์ด์ ์ผ๋ถ ์ถ๋ ฅ
fw.write("65"); // ์ซ์๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅ
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("์ถ๋ ฅ์ด ์๋ฃ๋์์ต๋๋ค.");
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java-๊ธฐ์ด] ์ง๋ ฌํ (0) | 2021.02.23 |
---|---|
[Java-๊ธฐ์ด] ๋ณด์กฐ ์คํธ๋ฆผ (0) | 2021.02.23 |
[Java-๊ธฐ์ด] byte ๋จ์ ์คํธ๋ฆผ (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ๊ทธ ์ธ ์ ๋ ฅ ํด๋์ค (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ํ์ค ์ ์ถ๋ ฅ (0) | 2021.02.22 |
๋๊ธ