Podemos renomear um arquivo test.txt
para test1.txt
?
Se test1.txt
existir, será renomeado?
Como o renomeio para o arquivo test1.txt já existente, para que o novo conteúdo do test.txt seja adicionado a ele para uso posterior?
java
file
rename
file-rename
JonasCz - Restabelecer Monica
fonte
fonte
Respostas:
Copiado de http://exampledepot.8waytrips.com/egs/java.io/RenameFile.html
Para acrescentar ao novo arquivo:
fonte
Path
caminho está funcionando para mim,renameTo
sempre retorna falso. Verifique a resposta de kr37 ou esta respostaEm resumo:
Mais detalhes:
O seguinte é copiado diretamente de http://docs.oracle.com/javase/7/docs/api/index.html :
Suponha que desejamos renomear um arquivo para "newname", mantendo o arquivo no mesmo diretório:
Como alternativa, suponha que desejemos mover um arquivo para um novo diretório, mantendo o mesmo nome e substituindo qualquer arquivo existente com esse nome no diretório:
fonte
Você deseja utilizar o método renameTo em um objeto File .
Primeiro, crie um objeto File para representar o destino. Verifique se esse arquivo existe. Se não existir, crie um novo objeto File para o arquivo a ser movido. chame o método renameTo no arquivo a ser movido e verifique o valor retornado de renameTo para ver se a chamada foi bem-sucedida.
Se você deseja anexar o conteúdo de um arquivo a outro, há vários escritores disponíveis. Com base na extensão, parece que é um texto sem formatação, então eu examinaria o FileWriter .
fonte
Para Java 1.6 e inferior, acredito que a API mais segura e limpa para isso é o Files.move do Guava .
Exemplo:
A primeira linha garante que o local do novo arquivo seja o mesmo diretório, ou seja, o diretório pai do arquivo antigo.
Edição: Eu escrevi isso antes de começar a usar o Java 7, que introduziu uma abordagem muito semelhante. Portanto, se você estiver usando o Java 7+, deverá ver e atualizar a resposta do kr37.
fonte
Renomeando o arquivo movendo-o para um novo nome. (FileUtils é do Apache Commons IO lib)
fonte
Esta é uma maneira fácil de renomear um arquivo:
fonte
Para substituir um arquivo existente pelo nome "text1.txt":
fonte
Tente isto
Nota: Devemos sempre verificar o valor de retorno renameTo para garantir que o arquivo renomeado seja bem-sucedido, pois depende da plataforma (sistema operacional diferente, sistema de arquivos diferente) e não gera exceção de E / S se a renomeação falhar.
fonte
Sim, você pode usar File.renameTo (). Mas lembre-se de ter o caminho correto ao renomeá-lo para um novo arquivo.
}
fonte
Se for apenas renomear o arquivo, você pode usar File.renameTo () .
No caso em que você deseja anexar o conteúdo do segundo arquivo ao primeiro, dê uma olhada no FileOutputStream com a opção de construtor de acréscimo ou A mesma coisa para o FileWriter . Você precisará ler o conteúdo do arquivo para anexá-lo e gravá-lo usando o fluxo / gravador de saída.
fonte
Tanto quanto eu sei, renomear um arquivo não anexará seu conteúdo ao de um arquivo existente com o nome do destino.
Sobre como renomear um arquivo em Java, consulte a documentação para o
renameTo()
método em sala de aulaFile
.fonte
funciona, mas somente quando você fecha (ou fecha automaticamente) TODOS os recursos usados (
InputStream
,FileOutputStream
etc.) acho que a mesma situação comfile.renameTo
ouFileUtils.moveFile
.fonte
Aqui está o meu código para renomear vários arquivos em uma pasta com sucesso:
e execute-o como um exemplo:
fonte
O código em execução está aqui.
fonte