2014-02-11 4 views
1

Truecrypt 또는 Dropbox와 같은 프로그램은 파일 처리에 편리한 방법을 제공합니다. Truecrypt는 물리적 드라이브처럼 자연 스럽다고 느끼는 새 드라이브를 탑재합니다. Dropbox는 자동으로 데이터를 업로드/다운로드 할 수있는 새 폴더를 만듭니다.사용자 공간 파일 시스템을위한 Java의 FileSystemProvider?

비슷한 것을 구현하고 싶다면 Java의 FileSystemProvider가 올바른 방법입니까?

내가 원하는 것은 새 폴더가 나타나고 사용자 시스템에없는 파일 (원격)을 나열한다는 것입니다. 그러나 사용자가 이러한 파일을 열거 나 다른 경로에 복사하려고하면 예상대로 작동합니다.

+1

필자가 읽었을 때 FileSystemProvider를 사용하여 Java 프로그램의 파일 시스템과 같은 기능을 구현할 수 있습니다 (예 : 파일 시스템을 데이터베이스에 매핑하려는 경우). 시스템의 파일 시스템 드라이버이므로 프로그램 외부의 파일 시스템처럼 보이지 않습니다. Java에서이 작업을 수행 할 수있는 방법이 있으면 매우 놀랍습니다. 장치 드라이버 수준의 해커는 자바가 특히 적합하지는 않습니다. (불가능하지 않다는 말은 아니며, 누군가가 그것을 가능하게하려고 노력하지 않을 것이라고 생각합니다.) – keshlam

답변

1

시스템의 모든 (또는 선택한) 응용 프로그램에서 볼 수있는 가상 파일 시스템을 만들려면 Windows에서 파일 시스템 드라이버를 만들어야합니다 (Linux 및 MacOS에서는 각각 FUSE 및 OSXFUSE가 있음). 이것은 느리고 고통스러운 과정입니다.

@keshlam이 주석에 쓴 것처럼 Java 클래스는 시스템에서 볼 수있는 가상 디스크를 만드는 데 적합하지 않습니다.

Windows의 경우에도 사용자 인터페이스에서 비즈니스 로직을 작성하고 사전 작성된 파일 시스템 커널 모드 드라이버를 제공하는 콜백 파일 시스템 제품을 확인할 수 있습니다. Java API를 포함하므로 Java에서 사용할 수 있습니다. 유닉스 기반 OS와 윈도우에서 파일 시스템 아키텍처의 차이로 인해 API는 FUSE에서 발견 된 것과는 다르다.