문준영
새벽 코딩
문준영
전체 방문자
오늘
어제
  • 분류 전체보기
    • 웹 개발
    • JAVA
      • 기본 문법 내용 정리
      • 함수 내용 정리
      • 쉽게 배우는 자바 프로그래밍 문제 풀이
    • HTML
      • HTML
      • CSS
      • 문제풀이
    • JavaScript
    • MYSQL
    • C
      • 기본 문법 내용 정리
      • 백준 알고리즘 (c언어)
      • 자료구조
    • Python
      • 참고 알고리즘
      • 기본 문법 내용 정리
      • 자료구조 내용 정리
      • 백준 알고리즘 (파이썬)
    • 깃허브
    • 멀티잇 풀스택

티스토리

hELLO · Designed By 정상우.
문준영

새벽 코딩

JAVA/기본 문법 내용 정리

입출력

2021. 10. 7. 16:30

 

콘솔 입출력 

 

자바의 System.in 을 이용하면 콘솔 입력을 얻을 수 있다.

 

1. InputSteam 

1
2
3
4
5
6
7
8
9
import java.io.InputStream;
 
public class StreamTest{
      public static void main(String[] args) throws Exception{
 
            InputStream in = System.in;
            int a= in.read();
System.out.println(a);
}
Colored by Color Scripter
cs

입력받은 1byte 값을  int 자료형으로 변환해서 저장된다

ex) 입력: abc   출력: 97

 -> 문제점 : 1 바이트 만 저장 

 

2. InputStreamReader

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.io.InputStream;
import java.io.InputStreamReader;
public class StreamTest {
 
    public static void main(String[] args) throws Exception {
        
        InputStream in=System.in;
        InputStreamReader reader= new InputStreamReader(in);
        char[] a= new char[3];
        reader.read(a);
        System.out.println(a);
    }
}
 
Colored by Color Scripter
cs

고정한 길이로만 스트림을 읽는다. 

ex) 입력 : abc    출력 :abc

 -> 문제점 : 길이가 고정되어 번거러움

 

3. BufferedReader

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
 
public class StreamTest {
    public static void main(String[] args) throws Exception {
        
        InputStream in=System.in;
        InputStreamReader reader= new InputStreamReader(in);
        BufferedReader buffer = new BufferedReader(reader);
        String a=buffer.readLine();
        System.out.println(a);
    }
}
 
Colored by Color Scripter
cs

입력했던 문자열을 모두 읽을 수 있게 됨

 ex) 입력: abcde  출력 :abcde

정리 

InputStream= byte

InputStream= char

BufferReader= String

throws Exception : inputStream으로 부터 값을 읽어들일 때는 IOException이 발생할 수 있기 때문에 예외처리를 해야하                          는데 throws로 예외처리를 뒤로 미루게 한 것

 

 

 

파일 입출력 

 

**예외 처리 필수 

1
2
3
import java.io.IOException;
public static void main(String[] args) throws Exception 
} // 예외처리
cs

 

파일 쓰기 

  1.FileOutputStream

 바이트 단위로 데이터 처리

  (바이트 단위로 처리하기때문에 String을 배열로 바꿔주는 getByte() 메소드를 이용해야 한다.)

    -> 문제점 : getByte()메소드를 써야하는 불편함이 있음 

 2.FileWriter

 문자열로 데이터를 처리

 -> 문제점 : 띄어쓰기가 자동으로 되지 않기때문에 \n 덧붙이는 불편함이 있음

3. PrintWriter

  문자열로 데이터 처리 , println() 메소드 사용 

 

ex) pw : PrintWriter의 객체 변수, data: 입력할 데이터

 System.out.println(data) pw.println(data) 
자주 사용하던 방식으로 콘솔창에 data를 보여주겠다 !  파일로 data를 보여주겠다  ! 

   

 

 

'JAVA > 기본 문법 내용 정리' 카테고리의 다른 글

자바 GUI 기초  (0) 2021.10.29
컬렉션과 제네릭  (0) 2021.10.29
인터페이스 & 추상 클래스  (0) 2021.10.05
배열 [ ] & enum  (0) 2021.10.05
조건문 & 반복문  (0) 2021.10.05
    'JAVA/기본 문법 내용 정리' 카테고리의 다른 글
    • 자바 GUI 기초
    • 컬렉션과 제네릭
    • 인터페이스 & 추상 클래스
    • 배열 [ ] & enum
    문준영
    문준영
    공부한 내용 정리!

    티스토리툴바