FileOutputStream / PrintWriter

2023. 1. 26. 16:37프로그래밍 언어/JAVA

FileOutputStream이란?

 - 파일의 글자나 문자나 숫자를 보내주는 통로다.

 

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;

public class Main {
	public static void main(String[] args) throws FileNotFoundException {
    	//파일 객체 하나 만들기
        File f = new File("abc.txt");
        
        //통로 생성
        FileOutputStream fos = new FileOutputStream(f);
        
        //통로 넓게 넓히기(보조스트림)
        PrintWriter pw = new PrintWriter(fos);
        
        //데이터 내보내기
        pw.write("hello Jonny");
        pw.flush();
    }
}

 

 

 Main Stream의 종류

(1) input

  1. InputStream : 1바이트씩만 데이터를 읽어옴
  2. reader : 2바이트씩 데이터를 읽어옴

 

 

(2) output

  1. OutputStream : 1바이트씩만 데이터를 보냄
  2. writer : 2바이트씩 데이터를 보냄

 

- 이외에도 많지만, 그때그때 검색해서 사용하는 것이 좋다.

 

 

보조스트림이란?

- 메인스트림과 보조스트림이 있다. 

- 보조스트림은 기본적인 통로를 확장시켜주고 싶을 때 데이터가 원활하게 왔다갔다 하고 싶을 때 사용하는 것이 보조 스트림이다.

- 보조스트림은 말그대로 보조라서, 단독으로는 사용이 안되고 메인스트림이 있어야만 사용이 가능하다. 

- 메인스트림을 먼저 만들고 메인스트림에 보조스트림을 연결해서 사용한다. 

 

 

import java.io.FileReader;
import java.io.File;
import java.io.BufferedReader;

public class Main {
	public static void main(String[] args) throws Exception {
    	//파일 객체 생성
        File f = new File("abc.txt");
        
        //통로 생성
        FileReader fr = new FileReader(f);
        
        //통로 넓히기(보조 스트림 생성)
        BufferedReader br = new BufferedReader(fr);
        
        //데이터 읽기
        String str = br.readLine();	
        
        //데이터 출력
        System.out.println(str);		//"hello Jonny"
    }
}

 

 

//여러 줄을 읽어오고 싶을 때
import java.io.FileReader;
import java.io.File;
import java.io.BufferedReader;

public class Main {
	public static void main(String[] args) throws Exception {
    	
        //파일객체 생성
        File f = new File("abc.txt");
        
        //통로 생성
        FileReader fr = new FileReader(f);
        
        //통로를 넓히기
        BufferedReader br = new BufferedReader(fr);
        
        while(true) {
        	String str = br.readLine();
            //마지막인지 검사
            if(str == null) {
            	break;
            }
            System.out.println(str);
        }
        
    }
}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

Wrapper 클래스  (0) 2023.01.26
기본 API - 문자열 클래스  (0) 2023.01.26
Catch/ throw  (0) 2023.01.25
파일 입출력 - BufferedReader, BufferedWriter  (0) 2023.01.20
파일 입출력 - FileWriter, FileReader  (0) 2023.01.20