2011-07-27 14 views
1

사용자가 하나의 디렉토리에서 선택하는 다른 디렉토리에 파일을 저장하고 싶습니다. 나는 JFileChooser 파일을 선택하는 데 사용할 수있는 것을 압니다. 그러나 어떤 출력 스트림을 사용하는 대신 Java에서 한 위치에서 다른 위치로 파일을 이동시키는 방법이 있습니까?JFileChooser를 사용하여 파일 저장하기

답변

2

로컬 디스크 파일 시스템이 인 경우에만 File#renameTo()을 사용할 수 있습니다.

File sourceFile = createItSomehow(); 
File targetFile = chooser.getSelectedFile(); 

boolean renamed = sourceFile.renameTo(targetFile); 

if (!renamed) { 
    // Well, perhaps they are not on the same disk? 
} 

다른 모든 경우에는 스트리밍을 사용하는 것이 좋습니다. 또한 링크의 javadoc를 참조하십시오

이 방법의 동작의

많은 측면이 본질적으로 플랫폼에 따라 달라집니다 : 이름 바꾸기 작업이 또 다른 하나 개의 파일 시스템에서 파일을 이동하지 못할 수 있습니다, 그것은 원자되지 않을 수도 있습니다, 그리고 목적지 추상 경로명을 가진 파일이 이미 존재하면 성공하지 못할 수도 있습니다. 이름 바꾸기 작업이 성공적으로 수행되었는지 확인하려면 반환 값을 항상 확인해야합니다.

관련 문제