콘솔(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;

카테고리:

업데이트:

댓글남기기