최상위
byte 단위 | char 단위 | |
입력스트림 | InputStream | Reader |
출력스트림 | OutputStream | Writer |
두가지로 나뉘는 이유 : 바이트(byte)단위인지 캐릭터(char)단위인지 따라서 나뉨.
입출력 (데이터의 흐름의 통로의 역활)
System.in - 데이터 읽기
System.out - 데이터 내보내기
System.err - 데이터 에러 ( 문제가 정상적으로 풀린다면 쓸일이 없도록..)
입출력의 대상 변경
System.setOut()
System.setErr() -
System.setIn()
데이터 읽기( 입출력 받기 )
Scanner(File source)
Scanner(InputStream source)
Scanner(String source)
> 데이터 형변환이 편리하다, 손쉽게 입력처리가가능하다 But 수행시간 비효율적
이러한 스캐너를 입력받을때 메소드를 사용하게됩니다.
nextInt(), nextDouble(), next(), nextLine() 입니다.
nextInt(), nextDouble(), next() > int double, string 반환을하며 white space 를 만나면 종료됩니다.
*white space = space, tab, 개행 등의 빈공간을 만나면 자동으로 종료됩니다.
nextLine() > 문자열을 반환하나 개행(\n , 엔터) 를 만나면 종료됩니다. 즉, white space(띄어쓰기) 가 가능합니다.
아까 말씀드린 수행시간 비효율을 해결할 방법이 여기있습니다.
바로 대량의 데이터 처리 시 수행시간이 효율적인 방법입니다.
BufferedReader/ readLine() 이 친구들입니다.
줄 단위로 문자열처리가 가능합니다.
방법 :
다만 사용하실때 StringTokenizer 를 사용하는데 이는 입력데이터를 구분하기위해 구분자를 주는 것입니다.
토큰의 개수만큼 반복처리를 하여 처리하시면 됩니다.
방법 :
이렇게 사용하면 공백을통해 n개의 입력문을 출력하게됩니다.
'SSAFY' 카테고리의 다른 글
Jira 및 JQL 활용법 (0) | 2021.07.07 |
---|---|
[SSAFY 2] 협업하기 (0) | 2021.07.06 |
[ SSAFY ] 2학기 시작 (0) | 2021.06.28 |
[TIP] 협업을 위한 GIT 명령어 (0) | 2021.04.02 |
[일타싸피 후기] (0) | 2021.03.15 |