FileInput(파일 입력)
2023. 7. 20. 12:37ㆍJAVA
파일과 연결하는 다리(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 |