// 파일 입출력(File I/O) : low레벨의 API는 사실상 쓸일이 많지 않다
# 특징
// 컴퓨터에서 파일을 읽어 들이거나 파일에 데이터를 쓰는 작업
// 파일 입출력은 데이터의 저장, 읽기, 수정, 삭제 등과 관련된 다양한 작업에서 사용
// File 클래스가 따로 있당.
// File file = new File("C:\\tempFolder\\ttt\\a\\b\\c");
// 헤헤 특수문자 쓰고싶으면 \이거 썼어야했지 ^_^V
# 구조1
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
}catch(Exception e) {
e.printStackTrace();
}finally {
try {
fos.close();
}catch(Exception e) {
e.printStackTrace();
}
}
## FileOutputStream:
// 파일을 생성하거나 파일이 이미 존재하는 경우 '해당 파일을 열어서 데이터를 쓸 때' 사용하는 클래스
// 파일을 쓸 때는 예외 처리를 고려하여 try-catch 블록 내에서 파일 작업을 수행하는 것이 좋다.
// 파일을 열고 작업을 수행한 후에는 close() 메서드를 호출하여 스트림을 닫아야 함!
## FileOutputStream fos = new FileOutputStream(file);
// 위에같은 경우에 --> 문법적으로 강제로 trycatch를 쓰도록 하고있음(checked예외)
// exception을 피하기위해서 --> 에라모르겠다 catch(Exception e)를 해줘야되고,
// 어떤 error가 있을지 모르니까 --> e.printStackTrace();로 확인해야겠지?
구조2) 공부를 위해서 API를 보고 싶을 때
// new FileOutputStream() -> ()안에 file넣어버리기~
FileOutputStream fos = new FileOutputStream(file);
fos.close();
public static void main(String[] args) throws Exception { // 구조2) 에라모르겠다 던지기
## 구조3) try()를 써서 괄호안에 넣어버려
// 이때는 close를 하지 않아 --> {}끝나는 순간 알아서 close되기때문!
File file = new File("C:\\tempFolder\\qqq.qqq");
try(FileOutputStream fos = new FileOutputStream(file)){
// fos.write(10); --> qqq.qqq폴더에 10을 쓰겠다는거지뭐....
// ## 라떼는말이야 방법 --> 1. 요즘은 다 알아서 래핑해준다구~
// fos.write(a >> 24);
// fos.write(a >> 16);
// fos.write(a >> 8);
// fos.write(a);
// 1-1) 알아서 래핑해주는 녀석
// DataOutputStream을 사용하여 데이터를 파일에 써보자★
// writeUTF 메서드를 사용하여 문자열 데이터(= 지금은 a)를 파일에 작성할거야
DataOutputStream dos = new DataOutputStream(fos);
dos.writeUTF("a");
}catch(Exception e) {
}
System.out.println("프로그램종료");
// ======= 기타 등등 file관련 API ============
file.exists();
// --> 특정 파일이 존재하면 true..
file.isDirectory();
// --> 특정 폴더가 맞으면 true....
file.mkdirs();
// --> 실행시키고 파일 들어가보면 ttt라는 폴더(= 디렉토리)안에 a, 그안에 b.... 생성돼있다 ㅋㅋㅋ 오 신기행
file.listFiles();
// --> 파일 리스트를 보여주고, 뭐 get하면 볼수도 있겠지
// ======= 기타 등등 ============
file.exists();
// --> 특정 파일이 존재하면 true..
file.isDirectory();
// --> 특정 폴더가 맞으면 true....
file.mkdirs();
// --> 실행시키고 파일 들어가보면 ttt라는 폴더(= 디렉토리)안에 a, 그안에 b.... 생성돼있다 ㅋㅋㅋ 오 신기행
file.listFiles();
// --> 파일 리스트를 보여주고, 뭐 get하면 볼수도 있겠지
'JAVA > DAY 20 _ 23.09.13' 카테고리의 다른 글
File I/O _ load (0) | 2023.09.13 |
---|---|
Stream활용 예시 (0) | 2023.09.13 |
IntStream (0) | 2023.09.13 |
Stream_API (0) | 2023.09.13 |
Lambda5_consumer(interface) (0) | 2023.09.13 |