Ao tentar deletar alguns arquivos de uma determinada pasta, o método “delete” não está realizando sua função. Segue alguns detalhes para que possam me ajudar:
-
Tenho 5 arquivos dentro da pasta, o primeiro é deletado, o segundo as vezes é , outras vezes não é, então descarto problema com permissões;
-
Tratei todos os possíveis erros de fechamento de arquivo e até mesmo do próprio delete da classe File, não obtive sucesso.
Segue a parte do código:// Arquivos que iremos copiar
File origem =
new File(diretorio+arquivos[i].getName());
File destino =new File(diretorioImportados, arquivos[i].getName());// abrimos os streams para leitura/escrita FileInputStream fis = new FileInputStream(origem); FileOutputStream fos = new FileOutputStream(destino);
// Obtém os canais por onde lemos/escrevemos nos arquivos FileChannel inChannel = fis.getChannel(); FileChannel outChannel = fos.getChannel();
// copia todos o conteúdo do canal de entrada para o canal de saída outChannel.transferFrom(inChannel, 0, inChannel.size()); try{ fis.close(); }catch (Exception e) { e.printStackTrace(); } try{ fos.close(); }catch (Exception e) { e.printStackTrace(); } try{ inChannel.close(); }catch (Exception e) { e.printStackTrace(); } try{ outChannel.close(); }catch (Exception e) { e.printStackTrace(); } File relatorioPDF = new File(parCaminhoPDF+relatorio+".pdf"); relatorioPDF.renameTo(new File(“novonome.pdf”)); arquivos[i].delete();
Obrigado