파일 시스템 엑세스 API는 사용자의 로컬 파일 시스템에 직접 접근하여 파일을 읽고 쓸 수 있는 강력한 웹 표준 API입니다. 🚀
기존의 <input type="file"> (읽기 전용)이나 <a> 태그 (쓰기 전용)와 달리, 이 API는 파일 및 디렉토리의 양방향 읽기/쓰기, 생성, 삭제를 모두 지원합니다. 💪
가장 큰 장점은 스트림 방식을 통해 대용량 파일을 효율적으로 처리할 수 있어 메모리 사용을 최적화한다는 점입니다. 🌊
별도의 라이브러리 설치 없이 웹 표준 API로 바로 사용할 수 있어 개발 편의성이 높습니다. 🌐
텍스트 파일 열기, 새로운 텍스트 파일 생성 및 저장, 디렉토리 열기 및 포함된 파일 정보 탐색 등 다양한 로컬 파일 관리 기능을 웹에서 구현할 수 있습니다. 📂
API 호출은 비동기적으로 이루어지며, try-catch 구문을 사용하여 안전하게 예외를 처리하는 것이 중요합니다. 🛡️
showOpenFilePicker(), showSaveFilePicker(), showDirectoryPicker() 메서드를 통해 파일 또는 디렉토리 핸들을 얻고, 이를 통해 실제 파일/디렉토리 객체에 접근합니다. 🖐️
스트림 기반 읽기는 file.stream()으로 ReadableStream을 얻어 reader.read()로 청크 단위로 처리하며, 쓰기는 fileHandle.createWritable()로 WritableStream을 얻어 writer.write()로 데이터를 기록합니다. ✍️