2016-07-18 2 views
1

File#renameTo()을 사용하여 기존 파일의 이름을 바꾸려고하는데 작동하지 않는 것 같습니다. '파일 # renameTo()'이 (가) Java에서 작동하지 않습니다.

다음 코드

는 내가 뭘하려고 오전 나타냅니다

public class RenameFileDirectory { 
    public static void main(String[] args) throws IOException { 
     new RenameFileDirectory(); 
    } 

    public RenameFileDirectory() throws IOException { 
     File file = new File("C:\\Users\\User-PC\\Desktop\\Nouveau dossier2\\file.png"); 
     File desFile = new File ("C:\\Users\\User-PC\\Desktop\\Nouveau dossier2\\file2.png"); 

     if (file.renameTo(desFile)) { 
      System.out.println("successful rename"); 
     } else { 
      System.out.println("error"); 
     } 
    } 
} 
+1

* 작동하지 않는 것 같습니다. * 작동하지 않는 이유는 무엇입니까? –

+1

의사 코드를 실제 코드로 정리하면 잘 작동합니다. 정확히 무엇이 작동하지 않는지에 대해 더 분명히해야합니다. [mcve]를 입력하십시오. – azurefrog

+0

콘솔에서 오류가 발생하고 이름 변경에 실패했습니다. –

답변

3

대신 Files.move를 사용해보십시오. 당신이 renameTo의의 javadoc을 읽을 경우, 상태가 :

이 방법의 동작의

많은 측면

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

+0

'move '의 장점은 false를 반환하는 대신 특정 예외를 던져서 문제를 분명하게 알려주는 것입니다. – Pshemo

관련 문제