2015-02-01 2 views
-2

파일 서버와 클라이언트가 있으며 파일이 downloadfolder에 이미있는 경우 파일의 이름을 변경하려고합니다. 그렇게하는 가장 좋은 방법은 무엇입니까? 그 코드를 시도했지만 항상 하나의 복사본을 만들고 다음 복사본은 첫 번째 복사본을 덮어 씁니다.Java에서 단일 파일의 복사본을 여러 개 생성합니다.

private static int X = 0; 

다음이로 코드 변경 : 클래스에서

  File f = new File(FILE_DIR + fileName); 

      if(f.exists()) { 

       System.out.print("file already exists"); 

       fileName = "copy_of_" + fileName; 

      } 
+2

왜 그렇게 생각하십니까? –

+1

파일의 이름을 바꾸려면 ['File # rename'] (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#renameTo (java. io.File)) 파일을 복사하려면 ['Files.copy'] (http://docs.oracle.com/javase/tutorial/essential/io/copy.html) – MadProgrammer

+0

을 사용할 수 있지만 전예요. 5 복사본을 파일 이름을 변경 그래서 나는 복사본을 테스트 할 수 있지만 PHP에서 같은 반복을 만드는 방법을 모릅니다. – duration

답변

0

당신은 선언

File f = new File(FILE_DIR + fileName); 

     if(f.exists()) { 

      System.out.print("file already exists"); 

      fileName = "copy_of_ " + X + fileName; 
x++; 

     } 

그래서 매번 x는 (++ X)를 1 씩 증가를, 그래서 그들은 다른 이름을 갖습니다.

+0

당신은 다음을 의미합니까? 그리고 while 루프에서? – duration

+0

방금 ​​번호를 나타내는 파일 이름에 X를 추가하면 x가 매번 하나씩 증가하므로 파일 이름에 같은 이름이 사용되지 않습니다. – Johan

+0

ok thanks. 나는 그런 식으로 시도했지만 정적 변수를 먼저 만들려고 노력하지 않았다. 그래서 나는 끝없는 출력 "file exists"를 얻었다. btw는 X var이 처음으로 크고 작기 때문에 코드를 편집해야합니다. 또한 파일 이름 X는 ""안에 있기 때문에 var로 해석되지 않습니다. 다시 한 번 감사드립니다 : D – duration

관련 문제