D 프로그래밍-파일 I / O
파일은 std.stdio 모듈 의 File 구조체 로 표시됩니다 . 파일은 바이트 시퀀스를 나타내며 텍스트 파일이든 바이너리 파일이든 상관 없습니다.
D 프로그래밍 언어는 스토리지 장치의 파일을 처리하기위한 저수준 (OS 수준) 호출뿐만 아니라 고수준 기능에 대한 액세스를 제공합니다.
D에서 파일 열기
표준 입력 및 출력 스트림 stdin 및 stdout은 프로그램이 실행되기 시작할 때 이미 열려 있습니다. 사용할 준비가되었습니다. 반면에 파일 이름과 필요한 액세스 권한을 지정하여 먼저 파일을 열어야합니다.
File file = File(filepath, "mode");
여기, filename 파일 이름을 지정하고 액세스하는 데 사용하는 문자열 리터럴입니다. mode 다음 값 중 하나를 가질 수 있습니다.
Sr. 아니. | 모드 및 설명 |
---|---|
1 | r 읽기 목적으로 기존 텍스트 파일을 엽니 다. |
2 | w 쓰기 위해 텍스트 파일을 엽니 다. 존재하지 않는 경우 새 파일이 생성됩니다. 여기에서 프로그램은 파일 시작 부분부터 내용을 쓰기 시작합니다. |
삼 | a 추가 모드로 쓰기 위해 텍스트 파일을 엽니 다. 존재하지 않으면 새 파일이 생성됩니다. 여기서 프로그램은 기존 파일 내용에 내용을 추가하기 시작합니다. |
4 | r+ 읽고 쓰기 위해 텍스트 파일을 엽니 다. |
5 | w+ 읽고 쓰기 위해 텍스트 파일을 엽니 다. 먼저 파일이 있으면 길이를 0으로 자릅니다. 그렇지 않으면 파일이 없으면 만듭니다. |
6 | a+ 읽고 쓰기 위해 텍스트 파일을 엽니 다. 파일이없는 경우 생성합니다. 읽기는 처음부터 시작되지만 쓰기는 추가 만 가능합니다. |
D에서 파일 닫기
파일을 닫으려면 file에 파일 참조가있는 file.close () 함수를 사용하십시오. 이 함수의 프로토 타입은 다음과 같습니다.
file.close();
프로그램에서 연 파일은 프로그램이 해당 파일 사용을 마치면 닫아야합니다. 대부분의 경우 파일을 명시 적으로 닫을 필요는 없습니다. File 객체가 종료되면 자동으로 닫힙니다.
D로 파일 쓰기
file.writeln은 열린 파일에 쓰는 데 사용됩니다.
file.writeln("hello");
import std.stdio;
import std.file;
void main() {
File file = File("test.txt", "w");
file.writeln("hello");
file.close();
}
위 코드를 컴파일하여 실행하면 새로운 파일이 생성됩니다. test.txt 시작된 디렉토리 (프로그램 작업 디렉토리에서).
D에서 파일 읽기
다음 방법은 파일에서 한 줄을 읽습니다-
string s = file.readln();
읽기 및 쓰기의 전체 예가 아래에 나와 있습니다.
import std.stdio;
import std.file;
void main() {
File file = File("test.txt", "w");
file.writeln("hello");
file.close();
file = File("test.txt", "r");
string s = file.readln();
writeln(s);
file.close();
}
위의 코드가 컴파일되고 실행되면 이전 섹션에서 생성 된 파일을 읽고 다음과 같은 결과를 생성합니다.
hello
다음은 파일 끝까지 파일을 읽는 또 다른 예입니다.
import std.stdio;
import std.string;
void main() {
File file = File("test.txt", "w");
file.writeln("hello");
file.writeln("world");
file.close();
file = File("test.txt", "r");
while (!file.eof()) {
string line = chomp(file.readln());
writeln("line -", line);
}
}
위의 코드가 컴파일되고 실행되면 이전 섹션에서 생성 된 파일을 읽고 다음과 같은 결과를 생성합니다.
line -hello
line -world
line -
위의 예에서 writeln이 실행되면 다음 줄로 이동하므로 빈 세 번째 줄을 볼 수 있습니다.