자바(Java) - 입출력
콘솔(Console) 입력
System.in
char 값 1개를 받아올 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
System.out.print("입력 : ");
int a = System.in.read() - '0'; // -'0' 으로 문자를 아스키 코드값 만큼 빼서 숫자로 변환
System.out.println("입력값은 : "+a);
//System.in.read()는 입력 스트림에서 1개의 값만 가져올 수 있기 때문에 뒤의 엔터키 값을 소진 해야 한다.
System.in.read(new byte[System.in.available()]);
//Console log
입력 : 123
입력값은 : 1
InputStreamReader
배열을 이용하여 여러 개의 데이터를 받아올 수 있습니다.
배열의 길이 만큼의 값만 출력합니다.
1
2
3
4
5
6
7
8
9
InputStreamReader reader = new InputStreamReader(System.in);
char[] array = new char[3];
System.out.print("입력 : ");
reader.read(array);
System.out.println("입력값은 : "+array);
//Console log
입력 : 12345
입력값은 : 123
BufferedReader
원하는 만큼 자유롭게 읽을 수 있습니다.
1
2
3
4
5
6
7
8
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("입력 : ");
String s = br.readLine();
System.out.println("입력값은 : "+s);
//Console log
입력 : abcde
입력값은 : abcde
Scanner
데이터 타입을 Scanner 메소드를 사용하여 입력 받을 수 있습니다.
공백(띄어쓰기) 또는 개행(줄바꿈)을 기준으로 읽습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Scanner in = new Scanner(System.in); //Scanner 객체 생성
byte a = in.nextByte(); // byte 형 입력 및 리턴
short b = in.nextShort(); // short 형 입력 및 리턴
int c = in.nextInt(); // int 형 입력 및 리턴
long d = in.nextLong(); // long 형 입력 및 리턴
float e = in.nextFloat(); // float 형 입력 및 리턴
double f = in.nextDouble(); // double 형 입력 및 리턴
boolean g = in.nextBoolean(); // boolean 형 입력 및 리턴
String h = in.next(); // String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
String i = in.nextLine(); // String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
콘솔(Console) 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//한줄로 출력
System.out.print("Hello");
//출력 후 줄바꿈
System.out.println("World!");
//Format을 지정하여 출력(Format이 없을 경우 print와 같다)
System.out.printf("java");
//Format 사용 예시
System.out.printf("%d\n",10); //정수형
System.out.printf("%o\n",10); //8진수
System.out.printf("%x\n",10); //16진수
System.out.printf("%f\n",5.2); //실수형
System.out.printf("%c\n",'A'); //문자형
System.out.printf("%s\n","java"); //문자열
//공백
System.out.printf("%5d\n",123); //5개의 공간 확보 후 출력
System.out.printf("%5d\n",1234);
System.out.printf("%5d\n",12345);
System.out.printf("%-5d\n",123); //앞에서 부터 맞추고 싶을 경우 '-'
//소수점 자리수 제한
System.out.printf("%.2f\n",3.14159); //소수점 2번째까지 표기(3번째 자리 반올림)
파일(File) 쓰기
FileWriter
파일 등록 시 사용합니다.
1
2
3
4
5
6
FileWriter fw = new FileWriter("./file.txt");
String file = "첫번째 줄 입니다.\n";
fw.write(file);
file = "두번째 줄 입니다.\n";
fw.write(file);
fw.close();
FileWriter를 이용한 이어쓰기 방법입니다.
1
2
3
4
FileWriter fw2 = new FileWriter("./file.txt",true); //파일명 뒤에 true값을 입력
String file = "세번째 줄 입니다.";
fw2.write(file);
fw2.close();
PrintWriter
FileWriter와 같은 기능이지만 println이 가능하여 \n 을 입력하지 않고 자동으로 줄바꿈을 해줍니다.
1
2
3
4
5
6
PrintWriter pw = new PrintWriter("./file.txt");
file = "첫번째 줄 입니다.";
pw.println(file);
file = "두번째 줄 입니다.";
pw.println(file);
pw.close();
PrintWriter를 이용한 이어쓰기 방법입니다.
1
2
3
4
PrintWriter pw2 = new PrintWriter(new FileWriter("./file.txt",true)); //PrintWriter 매개변수 안에 FileWriter를 넣어준다.
String file = "세번째 줄입니다.";
pw2.println(file);
pw2.close();
파일(File) 읽기
1
2
3
4
5
6
7
8
BufferedReader br = new BufferedReader(new FileReader("./file.txt"));
while(true){
String file = br.readLine(); //한줄씩 읽어 온다.
if(file==null) break;
System.out.println(file);
}
br.close;
댓글남기기