Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

create

create 함수는 파일을 쓰기 전용 모드로 엽니다. 파일이 이미 존재한다면 이전 내용은 파괴됩니다. 그렇지 않으면 새로운 파일이 생성됩니다.

static LOREM_IPSUM: &str =
    "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
";

use std::fs::File;
use std::io::prelude::*;
use std::path::Path;

fn main() {
    let path = Path::new("lorem_ipsum.txt");
    let display = path.display();

    // 파일을 쓰기 전용 모드로 엽니다. `io::Result<File>`을 반환합니다
    let mut file = match File::create(&path) {
        Err(why) => panic!("{}를 생성할 수 없습니다: {}", display, why),
        Ok(file) => file,
    };

    // `LOREM_IPSUM` 문자열을 `file`에 씁니다. `io::Result<()>`를 반환합니다
    match file.write_all(LOREM_IPSUM.as_bytes()) {
        Err(why) => panic!("{}에 쓸 수 없습니다: {}", display, why),
        Ok(_) => println!("{}에 성공적으로 썼습니다", display),
    }
}

예상되는 성공적인 출력 결과는 다음과 같습니다:

$ rustc create.rs && ./create
successfully wrote to lorem_ipsum.txt

$ cat lorem_ipsum.txt
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

(이전 예제와 마찬가지로, 이 예제를 실패 조건에서 테스트해 보시길 권장합니다.)

OpenOptions 구조체는 파일이 열리는 방식을 구성하는 데 사용될 수 있습니다.