반응형
File 클래스
- 파일 개념을 추상화한 클래스
- 입출력 기능은 없고, 파일의 이름, 경로, 읽기 전용등의 속성을 알 수 없음
- 이를 지원하는 여러 메서드들이 제공됨
FileTest.java
package ch65;
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
File file = new File("D:\\eclipse\\workspace\\JAVA-Chapter2\\a.txt");
file.createNewFile();
System.out.println(file.isFile());
System.out.println(file.isDirectory());
System.out.println(file.getName());
System.out.println(file.getAbsolutePath());
System.out.println(file.getPath());
System.out.println(file.canRead());
System.out.println(file.canWrite());
file.delete();
}
}
RandomAccessFile 클래스
- 입출력 클래스 중 유일하게 파일에 대한 입력과 출력을 동시에 할 수 있는 클래스
- 파일 포인터가 있어서 읽고 쓰는 위치의 이동이 가능함
- 다양한 메서드가 제공됨
RandomAccessFileTest.java
package ch65;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileTest {
public static void main(String[] args) throws IOException {
// 존재하지 않으면 생성, 읽고 쓰기 설정
RandomAccessFile rf = new RandomAccessFile("random.txt", "rw");
rf.writeInt(100);
System.out.println("파일 포인터 위치: " + rf.getFilePointer());
rf.writeDouble(3.14);
System.out.println("파일 포인터 위치: " + rf.getFilePointer());
rf.writeUTF("안녕하세요!");
System.out.println("파일 포인터 위치: " + rf.getFilePointer());
// 맨 앞으로 이동
rf.seek(0);
System.out.println("파일 포인터 위치: " + rf.getFilePointer());
int i = rf.readInt();
double d = rf.readDouble();
String str = rf.readUTF();
System.out.println("파일 포인터 위치: " + rf.getFilePointer());
System.out.println(i);
System.out.println(d);
System.out.println(str);
}
}
반응형
'언어 > JAVA' 카테고리의 다른 글
Thread 1 (0) | 2021.05.23 |
---|---|
데코레이터 패턴 (0) | 2021.05.23 |
DataStream, 직렬화 (0) | 2021.05.23 |
여러가지 보조 스트림 클래스 (0) | 2021.05.23 |
문자단위 입출력 스트림 (0) | 2021.05.23 |