Java에서 파일 및 디렉토리의 속성과 메타데이터를 조회하는 방법을 알아보겠습니다. 파일 및 디렉토리의 속성과 메타데이터는 파일의 크기, 생성일, 수정일, 소유자 등과 같은 정보를 포함합니다.
파일 속성 조회하기
Java에서는 java.io.File
클래스를 사용하여 파일의 속성을 조회할 수 있습니다. File
객체를 생성한 후에는 length()
, lastModified()
, isDirectory()
등의 메소드를 사용하여 파일의 속성을 확인할 수 있습니다.
import java.io.File;
public class FileAttributesExample {
public static void main(String[] args) {
File file = new File("파일 경로");
if (file.exists()) {
System.out.println("File 크기: " + file.length());
System.out.println("마지막 수정일: " + file.lastModified());
System.out.println("디렉토리 여부: " + file.isDirectory());
// 추가적인 파일 속성 조회 메소드 사용 가능
} else {
System.out.println("파일이 존재하지 않습니다.");
}
}
}
위의 예시는 FileAttributesExample
클래스를 생성한 뒤, File
객체를 생성하고 원하는 파일 경로를 인자로 전달합니다. 그 후, exists()
메소드를 사용하여 파일의 존재 여부를 확인하고, 존재할 경우 length()
, lastModified()
, isDirectory()
등의 메소드를 사용하여 파일의 속성을 출력합니다.
디렉토리 메타데이터 조회하기
Java에서는 java.nio.file
패키지를 사용하여 디렉토리의 메타데이터를 조회할 수 있습니다. Files
클래스의 getOwner()
, getLastModifiedTime()
, getPosixFilePermissions()
등의 메소드를 사용하여 디렉토리의 메타데이터를 확인할 수 있습니다.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileOwnerAttributeView;
import java.nio.file.attribute.PosixFileAttributeView;
import java.nio.file.attribute.PosixFileAttributes;
public class DirectoryMetadataExample {
public static void main(String[] args) {
Path path = Paths.get("디렉토리 경로");
try {
FileOwnerAttributeView ownerAttributeView = Files.getFileAttributeView(path, FileOwnerAttributeView.class);
System.out.println("소유자: " + ownerAttributeView.getOwner());
PosixFileAttributeView fileAttributeView = Files.getFileAttributeView(path, PosixFileAttributeView.class);
PosixFileAttributes posixFileAttributes = fileAttributeView.readAttributes();
System.out.println("마지막 수정일: " + posixFileAttributes.lastModifiedTime());
System.out.println("파일 퍼미션: " + fileAttributeView.getPermissions());
// 추가적인 디렉토리 메타데이터 조회 메소드 사용 가능
} catch (Exception e) {
e.printStackTrace();
}
}
}
위의 예시는 DirectoryMetadataExample
클래스를 생성한 뒤, Path
객체를 생성하고 원하는 디렉토리 경로를 인자로 전달합니다. 그 후, getFileAttributeView()
메소드를 사용하여 디렉토리의 FileOwnerAttributeView
및 PosixFileAttributeView
를 얻습니다. 해당 뷰를 사용하여 소유자, 마지막 수정일, 파일 퍼미션 등을 출력합니다.
위의 예시에서는 PosixFileAttributeView
를 사용하였지만, 플랫폼에 따라 다른 뷰를 사용할 수 있습니다. 예를 들어 Windows 운영체제에서는 FileAttributeView
를 사용할 수 있습니다.
이것으로 Java에서 파일 및 디렉토리의 속성과 메타데이터를 조회하는 방법에 대해 간단히 알아보았습니다.