2017-09-15 1 views
1

Ich würde eine Datei aus meiner src-Datei in meinem Projekt in mein Verzeichnis kopieren, aber es funktioniert nicht, wenn ich in runnable Jar exportierte.Wie kopiert man zur Laufzeit eine Datei aus dem Jar?

 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 enthalten in der Regel nicht über die Quellen. Wenn Ihr JAR die benötigte Datei enthält, könnten Sie einen Klassenlader verwenden, um es für Sie zu finden, damit Sie es öffnen/kopieren können. –

+0

können Sie mir ein Beispiel geben dank –

Antwort

2

so etwas wie dieses Versuchen:

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

seine Arbeit! Danke, Mann –

Verwandte Themen