[java] Java를 사용하여 파일 이름 바꾸기

우리는 파일 말의 이름을 바꿀 수 있습니다 test.txt에를 test1.txt?

경우 test1.txt는 이름을 바꿀 것입니다 존재?

기존의 test1.txt 파일로 이름을 바꾸어 나중에 사용할 수 있도록 test.txt의 새 내용을 추가하려면 어떻게해야합니까?



답변

http://exampledepot.8waytrips.com/egs/java.io/RenameFile.html 에서 복사

// File (or directory) with old name
File file = new File("oldname");

// File (or directory) with new name
File file2 = new File("newname");

if (file2.exists())
   throw new java.io.IOException("file exists");

// Rename file (or directory)
boolean success = file.renameTo(file2);

if (!success) {
   // File was not successfully renamed
}

새 파일에 추가하려면

java.io.FileWriter out= new java.io.FileWriter(file2, true /*append=yes*/);


답변

한마디로 :

Files.move(source, source.resolveSibling("newname"));

자세한 세부 사항:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

다음은 http://docs.oracle.com/javase/7/docs/api/index.html 에서 직접 복사됩니다 .

파일의 이름을 “newname”으로 바꾸고 파일을 동일한 디렉토리에 유지한다고 가정합니다.

Path source = Paths.get("path/here");
Files.move(source, source.resolveSibling("newname"));

또는 파일을 새 디렉토리로 이동하고 동일한 파일 이름을 유지하고 디렉토리에서 해당 이름의 기존 파일을 바꾸고 싶다고 가정하십시오.

Path source = Paths.get("from/path");
Path newdir = Paths.get("to/path");
Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING);


답변

File 객체 에서 renameTo 메서드 를 사용하려고 합니다.

먼저 대상을 나타내는 File 객체를 만듭니다. 해당 파일이 있는지 확인하십시오. 존재하지 않는 경우 파일을 이동할 새 File 객체를 만듭니다. 이동할 파일에서 renameTo 메소드를 호출하고 renameTo에서 리턴 된 값을 확인하여 호출이 성공했는지 확인하십시오.

한 파일의 내용을 다른 파일에 추가하려면 사용 가능한 여러 작성자가 있습니다. 확장명을 기반으로 일반 텍스트처럼 들리므로 FileWriter를 살펴 보겠습니다 .


답변

Java 1.6 이하의 경우, 가장 안전하고 깨끗한 API는 Guava의 Files.move 입니다.

예:

File newFile = new File(oldFile.getParent(), "new-file-name.txt");
Files.move(oldFile.toPath(), newFile.toPath());

첫 번째 줄은 새 파일의 위치가 동일한 디렉토리, 즉 이전 파일 의 상위 디렉토리인지 확인 합니다.

편집 :
나는 매우 유사한 접근 방식을 도입 한 Java 7을 사용하기 전에 이것을 썼습니다. 따라서 Java 7 이상을 사용하는 경우 kr37의 답변을보고 투표해야합니다.


답변

파일을 새 이름으로 이동하여 이름을 바꿉니다. (FileUtils는 Apache Commons IO lib에서 가져온 것입니다)

  String newFilePath = oldFile.getAbsolutePath().replace(oldFile.getName(), "") + newName;
  File newFile = new File(newFilePath);

  try {
    FileUtils.moveFile(oldFile, newFile);
  } catch (IOException e) {
    e.printStackTrace();
  }


답변

파일 이름을 바꾸는 쉬운 방법입니다.

        File oldfile =new File("test.txt");
        File newfile =new File("test1.txt");

        if(oldfile.renameTo(newfile)){
            System.out.println("File renamed");
        }else{
            System.out.println("Sorry! the file can't be renamed");
        }


답변

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import static java.nio.file.StandardCopyOption.*;

Path yourFile = Paths.get("path_to_your_file\text.txt");

Files.move(yourFile, yourFile.resolveSibling("text1.txt"));

기존 파일을 “text1.txt”이름으로 바꾸려면

Files.move(yourFile, yourFile.resolveSibling("text1.txt"),REPLACE_EXISTING);