我写了一个copy文件的方法, 要把一个文件复制到工程下的一个自定义文件夹内使用"./swatch/AddFileJar" 抛出一个java.io.FileNotFoundException 怎么解决?
不用打绝对路径最好因为方便使用
java.io.FileNotFoundException: .\swatch\AddFileJar\temp (拒绝访问。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com.fileAddjar.Main.fileCopy(Main.java:111)
at com.fileAddjar.Main.main(Main.java:83)
Exception in thread "main" java.lang.NullPointerException
at com.fileAddjar.Main.fileCopy(Main.java:122)
at com.fileAddjar.Main.main(Main.java:83)
不用打绝对路径最好因为方便使用
java.io.FileNotFoundException: .\swatch\AddFileJar\temp (拒绝访问。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com.fileAddjar.Main.fileCopy(Main.java:111)
at com.fileAddjar.Main.main(Main.java:83)
Exception in thread "main" java.lang.NullPointerException
at com.fileAddjar.Main.fileCopy(Main.java:122)
at com.fileAddjar.Main.main(Main.java:83)
public class Main { public static void main(String[] args) throws IOException {fileCopy("F:\\qq.txt","./swatch/AddFileJar/temp/"); //copy文件
}
/**
* 把要添加的文件复制到jar目录
*
* @param sFile
* 要复制文件所在的目录
* @param oFile
* 复制到所在的目录
*/ public static void fileCopy(String sFile, String oFile) {
File file = new File(sFile); if (!file.exists()) {
System.out.println(sFile + " not have");
return;
}
File fileb = new File(oFile); if (file.isFile()) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(file);
fos = new FileOutputStream(fileb); byte[] bb = new byte[(int) file.length()];
fis.read(bb);
fos.write(bb); } catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} else if (file.isDirectory()) {
if (!fileb.exists()) {
fileb.mkdir();
}
String[] fileList;
fileList = file.list();
for (int i = 0; i < fileList.length; i++) {
fileCopy(sFile + "/" + fileList[i], oFile + "/" + fileList[i]);
}
}
}}