2017-09-15 3 views
1

Je voudrais copier un fichier de mon fichier src dans mon projet à mon dir, mais il ne fonctionne pas lorsque j'ai exporté vers jar runnable.Comment copier un fichier depuis le jar à l'exécution?

 public static void main(String args[]) throws IOException{ 
     FileCopyController fpc = new FileCopyController(); 
     File fileSrc = new File("src/java.exe"); 
     File fileDest = new File("C:/Directory1/java.exe"); 
     fpc.copyFileUsingChannel(fileSrc, fileDest); 
    } 

    public void copyFileUsingChannel(File source, File dest) throws IOException { 
    InputStream is = null; 
     OutputStream os = null; 
     try { 
      is = new FileInputStream(source); 
      os = new FileOutputStream(dest); 
      byte[] buffer = new byte[1024]; 
      int length; 
      while ((length = is.read(buffer)) > 0) { 
       os.write(buffer, 0, length); 
      } 
     } finally { 
      is.close(); 
      os.close(); 
     } 
+0

JAR ne contiennent généralement pas les sources. Si votre JAR contient le fichier nécessaire, vous pouvez utiliser un chargeur de classe pour le localiser pour vous, afin que vous puissiez l'ouvrir/copier ... –

+0

pouvez-vous me donner un exemple grâce à –

Répondre

2

Essayez quelque chose comme ceci:

public static void main(String args[]) throws IOException 
{ 
    final InputStrean src = getClass().getResourceAsStream("/java.exe"); 
    final Path dest = new File("C:/Directory1/java.exe").toPath(); 
    Files.copy(src, dest, StandardCopyOption.REPLACE_EXISTING); 
} 
+0

ses travaux! Merci mec –