关于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)


请问大佬们该如何解决,貌似每一次调用都出现了错误
...全文
46 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
南橘ryc 2019-01-08
  • 打赏
  • 举报
回复



引用 楼主 ryc1995 的回复:
目的是把一个文件夹内所有的文件搬迁的别的文件夹里,这是我的原文件

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)


请问大佬们该如何解决,貌似每一次调用都出现了错误




package cn.newer2019.j20190107.homework3;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class homework4 {


public static void main(String[] args) throws IOException {
File file =new File("src\\cn\\newer\\j20181224\\homework");

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 =new FileInputStream(f);

fis.read(buf);
File file1 =new File("D:\\Program Files\\Java" + f);

if(!f.exists()) {
file1.createNewFile();
try {
fos=new FileOutputStream(file1);
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()];
fos=new FileOutputStream(f);
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();
fos=new FileOutputStream(file1);
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);
}
}
}

}



修改过之后 没有报错 但是也没有任何反应

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧