2012-10-25 6 views
6

처리를 위해 임시 파일을 저장할 임시 폴더를 만들어야합니다. 내 응용 프로그램 jar가 실행될 폴더에서 읽기/쓰기 액세스 권한이 있는지 확실하지 않습니다.자바에서 임시 폴더 만들기

  1. 임시 폴더를 시스템의 임시 디렉토리에 만드는 것이 가장 좋습니까?
  2. File tempFolder = File.createTempFile("fooo",""); 폴더를 만든 위치는 어디입니까? 내 Mac에서 임시 폴더에 CD를 넣을 때 fooo라는 이름으로 폴더를 볼 수 없습니다.

답변

3

이를 참조하십시오

import java.io.File; 
import java.io.IOException; 

public class TempFolder { 
    public static void main(String[] args) throws IOException { 
     File file = File.createTempFile("my_prefix", ""); 
     System.out.println(file.getAbsolutePath() + " isFile: " + file.isFile() + " isDir:" + file.isDirectory()); 
     file.delete(); 
     file.mkdir(); 
     System.out.println(file.getAbsolutePath() + " isFile: " + file.isFile() + " isDir:" + file.isDirectory()); 
    } 
} 

첫번째 createTempFile 당신을 위해 실제 파일을 만들 것입니다, 단지 그것을 제거하고 동일한 이름을 사용하여 디렉토리를 확인합니다.

osx도 사용합니다. 결과는 다음과 같습니다.

/var/folders/aQ/aQLNlFLOF28xewK2A7i0X++++TM/-Tmp-/my_prefix8720723534029791962 isFile: true isDir:false 
/var/folders/aQ/aQLNlFLOF28xewK2A7i0X++++TM/-Tmp-/my_prefix8720723534029791962 isFile: false isDir:true 
3

File.createTempFile()을 사용해야합니다.

생성되는 위치는 환경에 따라 다릅니다. 원하는 경우 해당 파일의 전체 경로를 인쇄 해보십시오.

내 Mac (10.8.2)에서 시스템 Java가 "/ var/folders/qj/v2cqt0t91h1b4rzj1s0pc_780000gp/T /"에 파일을 생성했습니다.

3

File tempFolder = File.createTempFile("fooo","")을 호출하면 File 객체가 반환됩니다. 그런 다음

tempFolder.getAbsolutePath(); 

here를 연결 호출 할 수 있습니다이 당신에게 위치를 제공 할 것입니다. 이 뜻을 추측에 나는 그것이 있었다 말할 것입니다/당신은 Finder에서에 들어갈 수 tmp를 /이

  • 이동은 이동 메뉴 유형에서
  • 폴더로 선택/tmp를/

숨겨진 폴더로 안내합니다.

Windows에서 temp 디렉토리로 이동할 수있는 Windows 탐색기 주소 표시 줄에 % temp %를 입력 할 수 있음을 알고 있습니다. OSX에서 이와 같은 것이 있는지 확실하지 않습니다.

1

tempFolder.getAbsolutePath()를 인쇄 해보십시오. 이 폴더가 생성되는 경로를 제공해야합니다. 당신은 거의 tempfolder를 작성하여 수행된다