입출력

신형주·2023년 6월 1일
0

*객체가 File 타입일 경우

객체.createNewFile

객체에 담긴 스트링 문자를 이름으로 한 파일 생성
(스트링 문자의 파일이 이미 있을 경우 덮어쓰지 않고 그냥 둠.(넘어감))
ex)text.txt가 담겨 있을 경우 text.txt 생성함

객체.exists

파일이 존재할 경우 True 아니면 False

객체.getAbsolutePath()

파일의 절대 경로 표시
(createNewFile로 만든 파일 디폴트 경로는 JavaWorkspace이다.)

객체.length()

파일의 크기(Byte)(1글자 = 1Byte)

객체.mkdir()

객체에 담긴 스트링 문자를 이름으로 한 폴더 생성
(스트링 문자의 폴더가 이미 있을 경우 덮어쓰지 않고 그냥 둠.(넘어감))

객체.mkdirs()

스트링이 "A/B/C"와 같을 경우 A폴더 안에 B폴더 안에 C폴더의 구조로 ABC폴더 모두 생성시킨다.
(여러 폴더 생성 시 사용)
(윈도우에 / 안먹힐경우 "A\\B\\C"로 시도 해볼 것!!)
(스트링 문자의 폴더가 이미 있을 경우 덮어쓰지 않고 그냥 둠.(넘어감))

객체.listFiles()

모든 폴더와 파일 정보들을 얻어 올 수 있다. 보통 스트링이 경로일때 쓴다.
(foreach와 사용하기 좋다. type은 File file)
(상대 경로 ex) src/chap_13 = JavaWorkspace기준 src폴더의 chap_13폴더 안의 모든 것
(절대 경로 ex) C:\User\Folder1\Desktop = C드라이브 … 안의 Desktop폴더 안의 모든 것

객체.isFile()

이게 파일이라면 True 아니면 False

객체.isDirectory()

이게 폴더라면 True 아니면 False

BufferedReader : 파일에서 내용을 읽어올 때
BufferedWriter : 파일에 내용을 쓸 때
Buffer란? 데이터를 한 곳에서 다른 곳으로 보낼때
전송한 데이터들을 보관했다가 한번에 보내는 임시 저장소

BufferedWriter 예제

선언시

FileWriter fw = new FileWriter("적을 스트링");
BufferedWriter bw = new BufferedWriter(fw);

아니면

BufferedWriter bw = new BufferedWriter(new FileWriter("적을 스트링"));

한 후 예외처리 해줘야 함.

작성할때는

try(BufferedWriter bw = new BufferedWriter(new FileWriter("적을 스트링"))) {
	bw.write("적을 스트링 내용");
	bw.newLine();	<< 줄바꿈
	bw.write("적을 스트링 내용");
	bw.newLine();
} catch (~~~) ... {
	throws ~~~
}

식으로 적는다.
위의 경우 bw.write시 덮어쓰기 된다.(기존 내용이 있을시 지워지고 새로 쓰인다.)
내용을 추가하고 싶으면

(new FileWriter("적을 스트링"))

부분을

(new FileWriter("적을 스트링"), true)

로 적으면
append: true라 뜨면서 기존 내용 유지하고 내용 추가가 가능해진다.

BufferedReader 예제

try(BufferedReader br = new BufferedReader(new FileReader("파일 이름"))) {
	String line;	<<line 변수에 한 줄씩 불러올 예정
	while((line = br.readLine()) != null) {	<<br.readLine()로 파일에서 한줄 불러와 line에 넣는다.
		sout(line);	   <<출력		    그 line이 null이 아니면(line에 한 줄 들어갔다면)
	}
} catch (~~~) ... {
	throws ~~~
}
profile
개발 공부 & 개발하면서 생각나는 것들 기록소

0개의 댓글