[Resolvido]Apagando um arquivo com File

7 respostas
R

Fala pessoal, tudo bem?

Eu estou com problema para executar o

File file = new File (path); return file.delete();

ele sempre dá false. Nunca apaga o arquivo. Eu não quero apagar o diretório, o diretório tem que ficar, mas o arquivo não.

Obrigado!

7 Respostas

R

Rafael Guerreiro:
Fala pessoal, tudo bem?

Eu estou com problema para executar o

File file = new File (path); return file.delete();

ele sempre dá false. Nunca apaga o arquivo. Eu não quero apagar o diretório, o diretório tem que ficar, mas o arquivo não.

Obrigado!

Pode ser um problema de permissão. Ou talvez a string path não contenha o nome correto do arquivo. Antes de dar o delete, o que ocorre com a chamada file.exists() ?

R

Eu vou colocar só para ter certeza… Mas fica tudo gravado em banco de dados na hora que salva o arquivo…

Como que eu faço para poder deletar ele?

R

Rafael Guerreiro:
Eu vou colocar só para ter certeza… Mas fica tudo gravado em banco de dados na hora que salva o arquivo…

Como que eu faço para poder deletar ele?

Então, como te disse pode ser algo simples como a variável path não conter o nome correto do arquivo (por isso sugeri executar o exists e ver o que ocorre) ou talvez seja um problema de permissões do seu SO e talvez você precise alterar as permissões do arquivo antes de apagá-lo.

J

http://www.java2s.com/Code/Java/File-Input-Output/DeletefileusingJavaIOAPI.htm

R

JM4X! Deu certinho. Eu implementei o código, fazendo alguns ajustes e funcionou bonitinho! =D

Vou postar o código aqui, para ajudar pessoas futuras caso o site saia do ar:
import java.io.File;

public class Delete {
  public static void main(String[] args) {
    String fileName = "file.txt";
    // A File object to represent the filename
    File f = new File(fileName);

    // Make sure the file or directory exists and isn't write protected
    if (!f.exists())
      throw new IllegalArgumentException(
          "Delete: no such file or directory: " + fileName);

    if (!f.canWrite())
      throw new IllegalArgumentException("Delete: write protected: "
          + fileName);

    // If it is a directory, make sure it is empty
    if (f.isDirectory()) {
      String[] files = f.list();
      if (files.length > 0)
        throw new IllegalArgumentException(
            "Delete: directory not empty: " + fileName);
    }

    // Attempt to delete it
    boolean success = f.delete();

    if (!success)
      throw new IllegalArgumentException("Delete: deletion failed");
  }

}
J

:arrow:[quote]Rafael Guerreiro

isso aew malluuuuuco!

eh nozes!

C

obrigado por compartilhar a soluçao… nao vou usar agora… mas eh bom saber ^^ abrass

Criado 19 de julho de 2011
Ultima resposta 19 de jul. de 2011
Respostas 7
Participantes 4