본문 바로가기
3.1 SpringBoot/Java

[Java/기초] 입출력

by Dohi._. 2024. 7. 14.
728x90

입출력

  • 콘솔 입출력
  • 파일 입출력

콘솔

콘솔 입력

입출력 방식중에 콘솔로 입력받는 방법

  • System.in.read()
    • char값을 한개를 받아옴
    • 입력받고 엔터와 같은 나머지 데이터도 남겨놓기때문에 다 사용후에 남은데이터를 소진해야함
    • 소진하지 않을경우 입력스트림에 남은 값들이 추후 영향
    • 예외처리 권장 try-catch or throws IOException
int a = System.in.read() - '0'; // char 값이기 때문에 아스키코드로 저장 
System.in.read(new byte[System.in.available()]) //남은데이터 소진 
//System.in.available():메소드는 입력 스트림에 읽을 수 있는 데이터의 크기를 바이트 단위로 반환하는 메소드입니다.
  • InputStreamReader
    • 배열을 읽어들일수있음
InputStreamReader rd = new InputStreamReader(System.in);  
chra\[\] c = new char\[3\];  
rd.read(c)
  • BufferedReader
    • BufferdReader br = new BufferedReader(new InputStreamReader(System.in));
    • 다합쳐진느낌
BufferdReader br = new BufferedReader(new InputStreamReader(System.in));  
String s = br.readLine();
  • Scanner
    • 주로 사용되는 방식
    • Scanner sc = new Scanner(System.in);
    • 여러방식으로 값을 받을수있음
sc.next(); //공백을 구분자로 사용하여 문자열 읽어옴.->공백포함된 문자열 받을수없음
sc.nextLine();//개행 문자를 만날 때까지 모든 문자를 읽어와 문자열로 반환-> 공백이 포함된 문자열을 읽어올 수 있습니다.
sc.nextInt(); //공백을 구분자로 사용하여 정수입력을 받고 숫자만 입력받음

콘솔 출력

입출력 방식중에 콘솔로 출력하는 방법

  • System.out.print(); : 기본출력
  • System.out.printf(); : 포메딩가능
  • System.out.println(); : 기본출력후 줄바꿈

파일

파일 입력

입출력 방식중에 파일로 부터 입력을 받는 방법

  • FileInputStream
  • BufferedReader
    • System.in = 콘솔 입력
    • FileReader = 파일 입력
BufferedReader br = new BufferedReader(FileReader(./test.txt));

While(true){  
String line = br.readLine()  
if(line == null){  
break;  
}  
System.out.print(line);  
}  
br.close()//파일입출력할때나 꼭 닫아주기

파일 출력

입출력 방식중에 파일로 출력하는 방법

  • FileOutputStream
    • 바이트 단위로 파일에 데이터를 쓰는 클래스입니다.
  • FileWriter
    • 문자 단위로 파일에 데이터를 쓰는 클래스입니다.
    • 자동으로 줄바꿈을 처리해 줍니다.
  • PrintWriter
    • FileWriter를 확장한 클래스
    • println() 메소드를 사용하여 자동으로 줄바꿈을 처리할 수 있습니다.
FileWriter fw = new FileWriter("./sample.txt");  
fw.write("Hello, World!\\n"); //여기까지 되었을땐 Hello, World!저장되어있고  
fw.close();

PrintWriter pw = new PrintWriter("./sample.txt");  
pw.println("222222"); //여기서는 기존데이터 없이 22222로 된다  
pw.close();

FileWriter fw = new FileWriter("./sample.txt",true); //이어쓰기  
fw.write("Hello, World!\\n"); //22222 \\n Hello, World!저장되어있고  
fw.close();

PrintWriter pw = new PrintWriter(new FileWriter("sample.txt",true)); //FileWriter해야함  
pw.println("22222"); //22222 \\n Hello, World! \\n 22222  
pw.close();

알아두면 좋은 상식

문자열 변환  
int a = Integer,parseInt(stirng); -> 문자열을 int값으로 반환  
String str = Integer.toString(1234) -> 정수값을 문자열로 변환  
728x90

'3.1 SpringBoot > Java' 카테고리의 다른 글

[JAVA/기초] 컬렉션프레임워크  (2) 2024.07.19
[java/기초] 예외처리  (0) 2024.07.16
[Java/기초] 내부클래스  (0) 2024.07.14
[java/기초] 인터페이스  (0) 2024.07.13
[java/기초] 추상클래스  (0) 2024.07.13

댓글