ThiagoN Posted March 22, 2018 at 06:34 AM Report #609855 Posted March 22, 2018 at 06:34 AM Bom dia pessoal me ajudem com o caso.. estou importando um arquivo cvs para o banco MySQL pelo java, mas depois tento excluir o arquivo e ele não exclui, pois esta alocado. alguma ideia de como desalocar ou forçar a exclusão? segue cod.. public void upm(){ Path a = Paths.get("K:\\arquivo\\erros.csv"); boolean exists = Files.exists(a); boolean notExists = Files.notExists(a); if (exists) { System.out.println("File exists!"); System.out.println("executando"); Pln0098r pln0098r = new Pln0098r(); Pln0098rDAO.getInstance().removeAll(); System.out.println("excluir pln0098r"); File arquivoCSV = new File ("K:\\arquivo\\erros.csv"); try{ String linha = new String(); Scanner scan = new Scanner(arquivoCSV); scan.nextLine(); scan.nextLine(); System.out.println(arquivoCSV); System.out.println("inserindo"); while(scan.hasNext()) { linha = scan.nextLine(); String[] valores = linha.split(";"); pln0098r.setData(valores[0]); pln0098r.setEstacao(valores[1]); pln0098r.setT_prod(valores[2]); pln0098r.setQtd_cnf(valores[3]); pln0098r.setFalta_epm(valores[4]); pln0098r.setFalta_upm(valores[5]); pln0098r.setSobra_epm(valores[6]); pln0098r.setSobra_upm(valores[7]); pln0098r.setTroca_epm(valores[8]); pln0098r.setTroca_upm(valores[9]); pln0098r.setErro_conf_epm(valores[10]); pln0098r.setErro_conf_upm(valores[11]); pln0098r.setTrava_valid_epm(valores[12]); pln0098r.setTrava_valid_upm(valores[13]); System.out.println("estaçãoes " + valores[1] + "Conf " + valores[3]); Pln0098rDAO.getInstance().merge(pln0098r); // linha = scan.nextLine(); } scan.close(); // estou forçando o fechamento do arquivo e tentando excluir. Scanner f = new Scanner(arquivoCSV); f.close(); arquivoCSV.delete(); Runtime.getRuntime().exec("del -F K:\\arquivo\\erros.csv"); calculoUpm(); }catch(Exception e) { e.printStackTrace(); } } else if (notExists) { System.out.println("File doesn't exist!"); calculoUpm(); } }
M6 Posted March 22, 2018 at 09:36 AM Report #609858 Posted March 22, 2018 at 09:36 AM Abrires o ficheiro com o Scanner duas vezes não faz qualquer sentido. Parece que tens aí imensos handlers para o mesmo ficheiro, além disso, para eliminares usas o "delete" do Files e não o handler para o ficheiro. try { Files.delete(a); } catch (NoSuchFileException x) { System.err.format("%s: " + " não existe%n", path); } catch (DirectoryNotEmptyException x) { System.err.format("%s direório com informação%n", path); } catch (IOException x) { // Problemas de permissões System.err.println(x); } Vê na documentação: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#delete-java.nio.file.Path- 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
ThiagoN Posted March 23, 2018 at 06:12 AM Author Report #609881 Posted March 23, 2018 at 06:12 AM 20 horas atrás, M6 disse: Abrires o ficheiro com o Scanner duas vezes não faz qualquer sentido. Parece que tens aí imensos handlers para o mesmo ficheiro, além disso, para eliminares usas o "delete" do Files e não o handler para o ficheiro. try { Files.delete(a); } catch (NoSuchFileException x) { System.err.format("%s: " + " não existe%n", path); } catch (DirectoryNotEmptyException x) { System.err.format("%s direório com informação%n", path); } catch (IOException x) { // Problemas de permissões System.err.println(x); } Vê na documentação: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#delete-java.nio.file.Path- bom dia obrigado pela ajuda.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now