파일 클래스
파일 클래스는 외부 텍스트 파일을 읽고 쓰는 데 유용합니다.
AccessMode 열거자
파일 클래스에는 파일이 열려 있는 경우 파일의 모드를 설정하기 위해 file.open에서 작동하는 열거자가 포함되어 있습니다. 이러한 항목은 "열기" 명령에 대한 인수로, "File"이라는 단어가 앞에 추가됩니다. 값은 다음과 같이 표시됩니다.
| AccessMode 값 | 설명 |
ReadOnly | 파일을 읽기 전용으로 엽니다. |
WriteOnly | 파일을 쓰기 전용으로 엽니다. 추가와 함께 사용하면 파일이 잘리지 않습니다. 단독으로 사용하거나 잘림과 함께 사용하면 파일이 잘립니다. |
ReadWrite | 파일을 읽기/쓰기 모드로 엽니다. 파일이 잘리지 않습니다. |
Append | 파일을 추가 모드로 엽니다. (파일을 추가할 수 있도록 설정하려면 WriteOnly를 함께 사용해야 합니다. WriteOnly | Append) 로그 파일에 작성하는 데 유용합니다. |
Truncate | 파일을 자릅니다. |
Translate | Windows에서 텍스트 파일에 캐리지 리턴 및 줄 바꿈 변환을 사용합니다. |
"f"라는 파일 객체를 쓰기 전용으로 열려면 다음 명령을 실행합니다.
f.open(File.WriteOnly | File.Translate);
Windows 파일에는 Translate 플래그가 필요합니다.
정적 함수
정적 함수는 메서드와 달리 특정 객체를 참조하지 않습니다. 다음 명령을 사용하려면 앞에 "File"을 사용합니다. 이는 다음 함수가 File 클래스에 연결됨을 나타냅니다.
| 정적 함수 | 설명 |
exists(filename) | 부울: fileName이 있는 경우 true이고, 없는 경우 false입니다(filename = 문자열). |
remove(filename) | filename이 있는 경우 삭제합니다. filename이 없는 경우 예외를 반환합니다(filename = 문자열). |
write(filename, content) | 파일 이름에 내용을 씁니다. 파일이 이미 있으면 원래 내용을 완전히 대체합니다. 파일에 쓸 수 없는 경우 예외를 반환합니다. filename = 문자열, content = 문자열 |
read(filename) | 가능한 경우 파일의 내용을 읽고 반환합니다. 그렇지 않은 경우 예외를 반환합니다. filename = 문자열 |
isFile(filename) | 부울: filename이 파일이면 true이고, 파일이 아니면 false입니다. |
isDir(filename) | 부울: filename이 디렉토리이면 true이고, 파일이 아니면 false입니다. |
예를 들어 "logfile.txt"라는 파일이 있는지 확인하려면 다음 명령을 실행합니다.
File.exists(“logfile.txt”);
파일 클래스 특성
파일 클래스의 모든 특성은 읽기 전용입니다.
| 파일 클래스 특성 | 유형 | 설명 |
name | 문자열 | 확장자를 포함한 파일 이름 |
경로 | 문자열 | 파일 경로 |
fullName | 문자열 | 파일의 전체 이름: 경로, 이름 및 확장자 |
baseName | 문자열 | 파일 이름만(경로 또는 확장자 제외) |
확장자 | 문자열 | 파일 이름의 확장자 |
exists | 부울 | 파일이 있는 경우 true, 없는 경우 false |
readable | 부울 | 파일을 읽을 수 있는 경우 true |
writable | 부울 | 파일을 쓸 수 있는 경우 true |
executable | 부울 | 파일을 실행할 수 있는 경우 true |
hidden | 부울 | 파일이 숨겨져 있으면 true |
eof | 부울 | 읽기가 파일의 끝에 도달한 경우 true |
created | Date | 파일 작성 시간 |
lastModified | Date | 파일이 마지막으로 수정된 시간 |
lastRead | Date | 파일을 마지막으로 읽은 시간 |
size | 수 | 파일 크기(바이트) |
파일 클래스 메서드
| 파일 클래스 메서드 | 설명 | 데이터 반환 여부 |
new File(filename) | 파일 이름을 참조하는 파일 객체를 작성합니다. filename = 문자열 | 아니오 |
open(accessMode) | 지정한 accessMode를 사용하여 파일을 엽니다. | 아니오 |
close() | 파일을 닫습니다. | 아니오 |
readByte() | 파일에서 1바이트를 읽고 숫자를 반환합니다. | 예 |
read() | 파일의 전체 내용을 문자열로 반환합니다. 읽을 수 없는 경우 예외를 반환합니다. | 예 |
readLine() | 가능한 경우 파일에서 한 선을 읽습니다. 읽을 수 없는 경우 예외를 반환합니다. 후행 공백은 유지됩니다. | 예 |
readLines() | 파일의 내용을 각 줄에 대해 하나씩 문자열 배열로 반환합니다. 줄바꿈은 문자열에서 제거됩니다. | 예 |
writeByte(byte) | 파일에 바이트를 씁니다. | 아니오 |
write(data, length) | 데이터의 문자 길이 수를 파일에 씁니다. | 아니오 |
writeLine(data) | 줄 "데이터"를 파일에 쓰고 줄바꿈을 추가합니다. | 아니오 |
copyTo(newName) | 현재 파일을 "newname"으로 복사하고 복사에 성공하면 true를 반환합니다. | 예 |
이러한 명령 사용에 대한 예는 다음과 같습니다.
f = new File(a.path + "/pressure.txt");
f.open(File.WriteOnly | File.Translate);
f.writeLine("Velocity, Pressure");
f.close();
이러한 명령 사용에 대한 단계별 설명은 다음과 같습니다.
다음 명령은 f라는 파일 객체를 작성하고, "pressure.txt"라는 이름을 지정합니다.
f = new File("pressure.txt");
파일이 열리고 두 개의 AccessMode 열거자를 사용하여 이 파일이 쓰기 전용이며, Windows에서 사용됨을 나타냅니다(변환 수정자).
f.open(File.WriteOnly | File.Translate);
"Velocity" 및 "Pressure"라는 단어가 파일에 작성되어 열 머리글로 사용됩니다.
f.writeLine("Velocity, Pressure");
파일이 닫힙니다.
f.close();