2013-07-22 1 views
0

파일에 대한 정보와 파일이 들어있는 db4o를 사용하여 데이터베이스를 구축하고 있지만 (나는 파일 시스템이 파일 관계의 복잡성 때문에 존재하지 않기를 바란다. 즉, 파일 시스템을 지능적으로 디자인 할 수있는 방법이 없을 것이다.Java에서 파일 시스템 파일에 포함 된 데이터의 저장 지점으로 리터럴 "FILE"을 사용하려고합니다.

그래서 나는 File 클래스가 파일 시스템의 파일에 대한 포인터이지만 실제 파일을 내가 작업중인 객체에 포함 시키길 원한다는 것을 알고 있습니다. 문자열을 사용 하겠지만 객체는 종종 바이너리, 이미지 또는 동영상을로드 할 수 있으므로 원하지 않는 유형의 오용이 될 수 있습니다.

나는 꽤 많은 검색을 해왔지만 해결책을 찾지 못했고 대부분의 검색 결과가 나를 File 클래스의 설명으로 유도했다.

예 객체는 내가 원하는 다음에 FileObject 단순히 실제 파일입니다

public class FileContainer { 
    private Date addedDate; 
    private String checkSum; 
    private Boolean criticalState; 
    private FileContainer previousVersion; 
    private String addedBy; 
    private FileObject file; 
} 

.

도움 감사합니다.

+6

바이트 배열 사용에 대해 생각해 보셨습니까? – hexafraction

답변

1

Java 7부터는 사용자가 원하는 파일에 매우 근접한 ZipFileSystem과 같은 인공 파일 시스템을 사용할 수 있습니다. 실제로 파일 추가, 파일 제거, 파일 이름 바꾸기, 두 파일 시스템 간의 상대 경로 유지. 이러한 모든 예제는 파일 시스템에도 유용합니다.

또한 새 nio API는 자유 키로 파일 속성을 제공 할 수 있습니다.

장점은 모든 파일 시스템에 대해 하나의 일반 API를 사용하는 것입니다. 클래스 Path도 파일 시스템을 보유합니다.