[kotlin Series] 21.file
November 8, 2024
File/Stream
FileReader
FileWriter
FileInputStream
FileOutputStream
use
- java의 try-catch-resource와 같이
use는 lambda를 받으며, 리소스 사용이 끝나면 정리해준다. java.io.Closeable에 대해서 호출할 수 있다.
생성
bufferedReaders()/bufferedWriter(): BufferedReader, BufferedWriter 객체를 만든다.
reader()/writer(): FileReader,FileWriter 객체를 만든다.
byteInputStream(): String, ByteArray에 대한 ByteArrayInputStream을 만든다.
InputStream인스턴스를 바탕으로 Reader, BufferedReader, BufferedInputStream을 얻을 수 있다.
OutputStream을 바탕으로 Writer, BufferedWriter, BufferedOutputStream을 얻을 수 있다.
URL
URL.readText()/URL.readBytes()
FIleSystemUtility
deleteRecursively()를 이용하면 파일이나 디렉토리를 자신에게 포함된 자손들까지 포함해 쉽게 가져올 수 있다.
copyTo()는 자신의 수신 객체를 다른 파일에 복사하고 복사본을 가리키는 파일 객체를 리턴한다.
copyRecursively(): 아래와 충돌 시 같은 옵션이 있다.
- SKIP: 파일을 무시하고 복사를 계속 진행한다.
- TERMINATE: 복사를 중단한다.
walk(): DFS로 순회한다.