package iopkg;
import java.io.IOException;
public class InputStreamTest {
public static void main(String[] args) {
int var_byte = -1;
System.out.println("문자열 입력 >> ");
do{
try{
var_byte = System.in.read(); // 1byte 씩 읽어온다(한글은 깨짐)
}
catch(IOException io){
io.printStackTrace();
}
if(var_byte == 10 || var_byte == 13) {
break;
}else {
System.out.println("읽은 값 : " + (char)var_byte);
}
}
while(true);
System.out.println("end");
}
}

Reader 클래스
bufferedReader 클래스
package iopkg;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderTest {
public static void main(String[] args) {
// 파일과 인터페이스의 연결통로
FileInputStream fIn=null; // file read => byte
// 바이트형으로 읽은형태를 reader로
InputStreamReader isr = null; // byre => Reader
BufferedReader bfr = null; //ReadLine
String fPath = "C:\\kdigital\\javastudy\\data\\bufferReader.txt";
try {
fIn =new FileInputStream(fPath);
isr = new InputStreamReader(fIn);
bfr = new BufferedReader(isr);
String str = null;
while(true) {
str = bfr.readLine();
if(str == null) break;
System.out.println(str);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
bfr.close();
isr.close();
fIn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}

package iopkg;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.StringTokenizer;
public class FileReadAddress {
public static void main(String[] args) {
FileReader fr = null;
BufferedReader bfr = null;
StringTokenizer st = null;
String fPath = "C:\\kdigital\\javastudy\\data\\address.txt";
try {
fr = new FileReader(fPath);
bfr = new BufferedReader(fr);
String str = null;
// while((str = bfr.readLine())!= null) {
// // ,로 구분해서 토큰을 만들어줌
// st = new StringTokenizer(str,",");
// String tp = "Name : %s, Addr : %s, Email : %s, Tel : %s \n";
// // 첫번째문장을 구분하여 nextToken으로 받아올 수 있음
// System.out.printf(tp, st.nextToken(), st.nextToken(),st.nextToken(),st.nextToken());
// }
while((str = bfr.readLine())!= null) {
// ,로 구분해서 토큰을 만들어줌
String sArr[] = str.split(",");
String tp = "Name : %s, Addr : %s, Email : %s, Tel : %s \n";
// 첫번째문장을 구분하여 nextToken으로 받아올 수 있음
System.out.printf(tp, sArr[0], sArr[1],sArr[2],sArr[3]);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
bfr.close();
fr.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}

package iopkg;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterTest {
public static void main(String[] args) {
FileWriter fw = null;
String msg = "Hello World 안녕 세상아~~";
String fPath = "C:\\kdigital\\javastudy\\data\\address.txt";
// 통로
try {
fw= new FileWriter(fPath);
fw.write(msg);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fw.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
System.out.println("완료");
}
}

package iopkg;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterTest {
public static void main(String[] args) {
FileWriter fw = null;
BufferedWriter bw= null;
String fPath = "C:\\kdigital\\javastudy\\data\\address.txt";
// 통로
try {
fw= new FileWriter(fPath);
bw = new BufferedWriter(fw,4);
bw.write('A');
bw.write('B');
bw.write('C');
// 줄나눔
bw.newLine();
bw.write('E');
bw.write('F');
bw.write('G');
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
bw.close();
fw.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
System.out.println("완료");
}
}
