package ch02_byte;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ByteIn {
	
	public static void main(String[] args) throws IOException {
		
		File path = new File(File.separator + "Users" + File.separator + "simpangyo" + File.separator + "FinTech_SPG" + File.separator + "IOjava");
		if(path.exists() == false) {
			path.mkdir();
			System.out.println("폴더 생성.");
		}
		
		File mf = new File(path, "test.txt");
		if(mf.createNewFile()) {
			System.out.println(mf.getName() + "생성.");
		} else {
			System.out.println(mf.getName() + " 파일이 이미 있습니다.");
		}
		
		// 데이터 전송 통로 생성
		FileInputStream fis = new FileInputStream(mf);
		
		try {
			while(true) {
				int rd = fis.read();
				if (rd == -1) 
					break;
				System.out.print((char)rd);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			fis.close();
		}
		
		
	}
}
package ch02_byte;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class ByteOut {
	
	public static void main(String[] args) throws IOException {
		
		File path = new File(File.separator + "Users" + File.separator + "simpangyo" + File.separator + "FinTech_SPG" + File.separator + "IOjava");
		if(path.exists() == false) {
			path.mkdir();
			System.out.println("폴더 생성.");
		}
		
		File mf = new File(path, "test.txt");
		if(mf.createNewFile()) {
			System.out.println(mf.getName() + "생성.");
		} else {
			System.out.println(mf.getName() + " 파일이 이미 있습니다.");
		}
		
		// 데이터 전송 통로 생성
		// 데이터를 byte단위로 처리
		// → 객체 생성시 true( 이어쓰기 ), false ( 다시쓰기, default 값 )
		FileOutputStream fos = new FileOutputStream(mf, false);
		String data = "test data ";
		try {
			byte[] wd = data.getBytes();
			fos.write(wd);
		} catch (Exception e) {
			e.printStackTrace();
		} finally { // 무조건 사용했던 통로를 폐쇄
			fos.close();
		}
	}
}