我創建了一個名爲FileCopyFromJAR的類,該類具有名爲copy的靜態方法。這讓我使用的getResourceAsStream複製文件到JAR之外:從.jar文件複製文件夾
public static void copy(String source,String dest) throws IOException{
try{
File sourceFile = new File(source);
File destFile = new File(dest);
InputStream in = FileCopyFromJAR.class.getResourceAsStream(source);
OutputStream out = new FileOutputStream(destFile);
int bufferSize = 1024;
byte[] buf = new byte[bufferSize];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf,0,len);
}
in.close();
out.close();
}
catch(IOException e){
throw e;
}
}
裏面我的代碼,我會做這樣的事情把這個(假定test.txt的是我的.jar文件的根目錄) :
FileCopyFromJAR.copy("/test.txt","c:\\test.txt");
但是,如果我指定文件夾或文件夾內的文件,我會得到FileNotFoundException。這兩個返回錯誤:
FileCopyFromJAR.copy("folder\test.txt","c:\\test.txt");
FileCopyFromJAR.copy("folder", "c:\\folder");
我也試過使用各種組合/folder\test.txt等,但似乎沒有任何工作。有沒有辦法讓這項工作或我必須使用不同的方法?
這是一個問題的重複,我只是把一個賞金,讓我試着找到它。 – djechlin
@djechlin - 謝謝,那太棒了! – Trinculo
[複製目錄從一個jar文件]可能的副本(http://stackoverflow.com/questions/1386809/copy-directory-from-a-jar-file) – djechlin