상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Elixir에서의 파일 입출력 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Elixir에서 파일 입출력(I/O)은 주로 `File` 모듈을 통해 수행됩니다. 이 모듈은 파일을 읽고 쓰는 데 필요한 다양한 함수들을 제공합니다. Elixir는 Erlang VM 위에서 실행되기 때문에, Erlang의 파일 처리 기능을 활용할 수 있으며, Elixir의 문법과 기능을 통해 더 간결하고 직관적인 방식으로 <a href='https://sangseek.com/sangseeks/파일 작업/ko'>파일 작업</a>을 수행할 수 있습니다. 파일 읽기 1. 파일 전체 읽기 : `File.read/1` 함수를 사용하여 파일의 내용을 한 번에 읽을 수 있습니다. 이 함수는 파일의 경로를 인자로 받아, 파일의 내용을 문자열로 반환합니다. ```elixir case File.read("example.txt") do {:ok, content} -> IO.puts("파일 내용: {content}") {:error, reason} -> IO.puts("파일을 읽는 중 오류 발생: {reason}") end ``` 2. 파일 라인 단위 읽기 : `File.stream!/1` 함수를 사용하면 파일을 스트림으로 읽을 수 있습니다. 이 방법은 큰 파일을 처리할 때 메모리 사용을 최소화할 수 있습니다. ```elixir File.stream!("example.txt") |> Enum.each(&IO.puts/1) ``` <a href='https://sangseek.com/sangseeks/파일 쓰기/ko'>파일 쓰기</a> 1. 파일에 쓰기 : `File.write/2` 함수를 사용하여 파일에 데이터를 쓸 수 있습니다. 이 함수는 파일 경로와 쓸 내용을 인자로 받습니다. ```elixir case File.write("output.txt", "Hello, Elixir!") do :ok -> IO.puts("파일에 성공적으로 작성되었습니다.") {:error, reason} -> IO.puts("파일 작성 중 오류 발생: {reason}") end ``` 2. 파일에 추가하기 : 파일에 내용을 추가하려면 `File.write/3` 함수를 사용하여 `:append` 옵션을 지정할 수 있습니다. ```elixir File.write("output.txt", "추가 내용\n", [:append]) ``` <a href='https://sangseek.com/sangseeks/파일 삭제/ko'>파일 삭제</a> 및 기타 작업 - 파일 삭제 : `File.rm/1` 함수를 사용하여 파일을 삭제할 수 있습니다. ```elixir case File.rm("output.txt") do :ok -> IO.puts("파일이 성공적으로 삭제되었습니다.") {:error, reason} -> IO.puts("파일 삭제 중 오류 발생: {reason}") end ``` - 파일 존재 여부 확인 : `File.exists?/1` 함수를 사용하여 파일의 존재 여부를 확인할 수 있습니다. ```elixir if File.exists?("example.txt") do IO.puts("파일이 존재합니다.") else IO.puts("파일이 존재하지 않습니다.") end ``` 파일 모드 파일을 열 때 사용할 수 있는 다양한 모드가 있습니다. 예를 들어, 읽기 전용, 쓰기 전용, 추가 모드 등이 있습니다. 이러한 모드는 `File.open/2` 함수를 통해 설정할 수 있습니다. ```elixir {:ok, file} = File.open("example.txt", [:read]) 파일 작업 수행 File.close(file) ``` 결론 Elixir에서 파일 입출력은 매우 직관적이며, 다양한 기능을 제공하는 `File` 모듈을 통해 쉽게 수행할 수 있습니다. 파일을 읽고 쓰는 기본적인 작업 외에도, 스트리밍, 파일 삭제, 존재 여부 확인 등 다양한 작업을 지원하므로, 필요에 따라 적절한 함수를 선택하여 사용할 수 있습니다. Elixir의 비동기 및 병렬 처리 기능을 활용하면 대규모 파일 처리 작업도 효율적으로 수행할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기