关于IO的问题,文件的拷贝
南橘ryc 2019-01-08 06:15:07 目的是把一个文件夹内所有的文件搬迁的别的文件夹里,这是我的原文件
package cn.newer2019.j20190107.homework3;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class homework3 {
public static void main(String[] args) throws IOException {
File file =new File("src\\cn\\newer");
File[] fs =file.listFiles();
//创建读取工具(文件字节输入流)
FileInputStream fis =null;
FileOutputStream fos =null;
for (File f : fs) {
if(f.isFile()) {
byte[] buf =new byte[(int) f.length()];
fis.read(buf);
File file1 =new File("D:\\Program Files\\Java" + f);
if(!f.exists()) {
file1.createNewFile();
try {
fos.write(buf);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
continue;
}
}else if(f.isDirectory()) {
File file1 =new File("D:\\Program Files\\Java" + f);
file1.mkdir();
repect(f);
}
}
}
public static void repect(File f1) throws IOException {
FileInputStream fis =null;
FileOutputStream fos =null;
File[] fs =f1.listFiles();
for (File f : fs) {
if(f.isFile()) {
byte[] buf =new byte[(int) f.length()];
try {
fis.read(buf);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
File file1 =new File("D:\\Program Files\\Java" + f);
if(!f.exists()) {
file1.createNewFile();
try {
fos.write(buf);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
continue;
}
}else if(f.isDirectory()) {
File file1 =new File("D:\\Program Files\\Java" + f);
file1.mkdir();
repect(f);
}
}
}
}
出现的问题为:
Exception in thread "main" java.lang.NullPointerException
at cn.newer2019.j20190107.homework3.homework3.repect(homework3.java:52)
at cn.newer2019.j20190107.homework3.homework3.repect(homework3.java:73)
at cn.newer2019.j20190107.homework3.homework3.main(homework3.java:39)
请问大佬们该如何解决,貌似每一次调用都出现了错误