File 클래스

  • 파일 개념을 추상화한 클래스
  • 입출력 기능은 없고 파일의 속성을 알 수 있다
public class FileTest {

	public static void main(String[] args) throws IOException {

		File file = new File("D:\\JAVA_LAB\\Chapter6\\newFile.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 클래스

  • 입출력 클래스 중 유일하게 파일 입력 출력을 동시에 할 수 있다
  • 파일 포인터가 있어서 읽고 쓰는 위치의 이동이 가능하다
public static void main(String[] args) throws IOException {
    RandomAccessFile rf = new RandomAccessFile("random.txt", "rw");
    
    rf.writeInt(100);
    System.out.println("pos: " + rf.getFilePointer());//4
    rf.writeDouble(3.14);
    System.out.println("pos: " + rf.getFilePointer());//12
    rf.writeUTF("안녕하세요");
    System.out.println("pos: " + rf.getFilePointer());//29 = 12 + 17
    
    rf.seek(0);//맨 앞으로 가줘야함 아래에서 처음부터 읽을 거니까
    
    int i = rf.readInt();
    double d = rf.readDouble();
    String  str = rf.readUTF();
    
    System.out.println(i); 
    System.out.println(d); 
    System.out.println(str); 
}
profile
안녕하세요. Chat JooPT입니다.

0개의 댓글