FileInput(파일 입력)

2023. 7. 20. 12:37JAVA

파일과 연결하는 다리(Stream)


읽어오는 방향을 스트림 InputStream. 그중 파일 전용의 FileInputStream


byte b=(byte)fis.read(); //이 코드를 사용하면  1바이트씩 읽어옴.


1바이트씩 읽어오기에 여러글자를 읽어오려면 반복문을 써야해 불편할 수 있음


이럴때 바이트를 덩어리째 배열로 받아올 수 있음

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

public class FileInputTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 읽어올 파일의 경로와 파일명을 가진 File 객체 생성
		File file = new File("aaa.txt");
		
		// 파일과 연결하는 무지개로드(Stream)
		// 읽어오는 방향을 스트림 InputStream. 그중 파일 전용의 FileInputStream
		
		try {
			//InputStream은 aaa.txt가 존재하지 않으면 예외발생
			FileInputStream fis= new FileInputStream(file);
			
			//파일에서 데이터를 읽어오기
			//byte들을 덩어리로 받아오기
			byte[] bytes= new byte[1024];//데이터를 받을 빈 배열 준비
			fis.read(bytes); //읽어온 데이터들을 빈 배열 bytes에 넣어줌
			
			//byte[] ==> String 변환
			String s = new String(bytes);
			System.out.println(s);
			
			//스트림 작업이 끝나면 닫기
			fis.close();
			
			System.out.println("파일 로드 작업이 완료되었습니다.");
			
			
		} catch (FileNotFoundException e) {
			System.out.println("파일이 존재하지 않습니다.");
		} catch (IOException e) {
			System.out.println("읽기과정 중에 오류가 발생했습니다.");
		}
	}
}

 

빈 배열을 만든 뒤 읽어온 데이터들을 빈 배열 참조변수인 bytes에 넣어줌 

 

그후 byte[] 배열을 스트링으로 변환 후 출력

 

InputStream은 읽어올 파일이 존재하지 않으면 예외발생

 

파일 입출력은 오류가 발생할수있어 트라이 캐치문의 사용이 필요함

 

FileNotFoundException = 파일을 찾을수 없어서 발생하는 오류

 

IOException = 입출력 과정에서 문제가 생겼을때 발생하는 오류

 

'JAVA' 카테고리의 다른 글

네트워크 통신 - Server  (0) 2023.07.21
FileOutput(파일 출력)  (0) 2023.07.20
Thread Control 예제  (0) 2023.07.19
Synchronized기능과 예제  (0) 2023.07.19
Runnable  (0) 2023.07.19