2013-08-09 3 views
0

Java File 객체를 사용하는 인터페이스가 있지만 거기에 보내려는 문자열이 있습니다. 디스크에 쓰지 않고, 해당 인터페이스로 보내기에 적합한 객체를 어떻게 만들 수 있습니까?해당 파일을 만들지 않고 Java File 객체를 얻는 방법

나는 길이, 타임 스탬프, 내용 및 파일 이름과 같은 필요한 데이터/메타 데이터를 가지고 있으며이를 파일에 포함하려고합니다.

+0

어떻게 문자열을 디스크에 쓰지 않고 파일로 보낼 수 있습니까? RAM에 파일을 저장하는 것과 같은 의미로 나중에 액세스 할 수 있습니까? – ghostbust555

+1

자바 API는 꽤 잘 알고 있지만 그렇게 할 수는 없다고 생각합니다. File의 하위 클래스를 만들고 원하는대로 구현할 수 있습니다 (최종적이지는 않습니다). 그러나 인터페이스의 구현이 파일에서'FileInputStream' 또는'FileOutputStream'을 만들려고 할 때 프로그램이 실패합니다. –

+1

불행하게도 Java 6에서는 불가능합니다. 따라서 레거시 프레임 워크로 작업한다면 운이 없게됩니다. 메모리 매핑 된 파일을 설정할 수는 있지만 플랫폼에 따라 다릅니다. Java 7에서 [custom file system provider] (http://download.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html)를 작성할 수 있습니다. 네가 원해. – aioobe

답변

0

그래서 제대로 이해했는지 모르겠지만, temp filesystem from Common VFS을 사용하면 어떨까요?

URI 형식은 tmp://[ absolute-path]입니다.

문서는 말한다 :

임시 파일 시스템 또는 스크래치 패드에 대한 액세스를 제공, 즉 가공 VFS가 종료 될 때 삭제 입니다. 임시 파일 시스템은 로컬 파일 시스템으로 백업 된 입니다.

관련 문제