Search

File IO 예제

파일 읽기

use std::fs::File; use std::io::prelude::*; fn main() -> std::io::Result<()> { let mut file = File::open("hello.txt")?; let mut contents = String::new(); file.read_to_string(&mut contents)?; println!("{}", contents); Ok(()) }
Rust
복사
위 코드에서는 File::open 함수를 사용하여 "hello.txt" 파일을 엽니다. 이 함수는 Result<File, std::io::Error> 타입의 결과값을 반환합니다. ? 연산자를 사용하여 파일을 열 때 발생할 수 있는 에러를 처리합니다.
File 객체를 생성한 후, String 타입의 contents 변수를 선언합니다. 그 다음, File::read_to_string 함수를 사용하여 파일의 내용을 contents 변수에 읽어옵니다.
마지막으로, println 함수를 사용하여 파일의 내용을 콘솔에 출력합니다.
파일 쓰기도 비슷하게 동작합니다. 예를 들어, 다음은 파일에 문자열을 쓰는 코드 예제입니다.

파일 쓰기

use std::fs::File; use std::io::prelude::*; fn main() -> std::io::Result<()> { let mut file = File::create("output.txt")?; file.write_all(b"Hello, world!")?; Ok(()) }
Rust
복사
위 코드에서는 File::create 함수를 사용하여 "output.txt" 파일을 생성합니다. 이 함수도 Result<File, std::io::Error> 타입의 결과값을 반환합니다.
File::write_all 함수를 사용하여 파일에 문자열을 씁니다. 이 함수는 Result<(), std::io::Error> 타입의 결과값을 반환합니다.
이와 같이 Rust에서 파일 I/O 작업은 std::fs 모듈의 함수를 사용하여 파일을 열고 읽거나 쓰는 것으로 처리됩니다. 에러 처리도 Rust의 Result 타입과 ? 연산자를 사용하여 처리할 수 있습니다.

컬렉션 찾아보기

시리즈