Salve, sto realizzando un programmino e dovrei fare una copia di un file contenuto all'interno dello stesso jar eseguibile del mio software java.
Ad esempio nella cartella file contenuta del jar ho il file in questione PIPPO.txt, io dovrei accedere a questo file e copiarlo in un altro file esterno al jar in un qualsiasi percorso, per la copia non ho problemi tuttavia non riesco ad accedere al file, non capisco perchè, vi posto i metodi che ho implementato:
tra i parametri di input come sorgente ho specificato l'URL del file sorgente e poi con getFile() mi vado a ricavare la stringa del path del file sorgente...codice:public void fileCopy(URL pathsource, String pathdest) throws FileNotFoundException, IOException { File inputFile = new File(pathsource.getFile()); File outputFile = new File(pathdest); InputStream finput = new BufferedInputStream(new FileInputStream(inputFile)); OutputStream foutput = new BufferedOutputStream(new FileOutputStream(outputFile)); byte[] buffer = new byte[1024 * 500]; int bytes_letti = 0; while ((bytes_letti = finput.read(buffer)) > 0) { foutput.write(buffer, 0, bytes_letti); finput.close(); foutput.close(); } }
l'utilizzo che ne faccio di tutto cio è questo...
dove con getClass().getResource("....") cerco di rintracciare il path assoluto del file ma credo che il problema si generi qui perchè ho il seguente messaggio d'errore:codice:try { fileCopy(getClass().getResource("/programmatunisia/Sql/install.sql"), c + path + datafile + "\\install" + datafile + ".sql"); } catch (FileNotFoundException ex) { Logger.getLogger(BackupDB.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(BackupDB.class.getName()).log(Level.SEVERE, null, ex); }
java.io.FileNotFoundException: C:\Users\Fabio%20Di%20Sabatino\NetBeansProject\Pro grammaTunisia\src\programmatunisia\Sql\install.sql (Impossibile trovare il percorso specificato)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.jav a:106)
at programmatunisia.GraphicalUserInterface.BackupDB.f ileCopy(BackupDB.java:132)
avete qualche idea su come risolvere?

Rispondi quotando