黑马程序员技术交流社区
标题:
求大神解决—复制文件夹
[打印本页]
作者:
唐志海
时间:
2014-2-7 03:35
标题:
求大神解决—复制文件夹
本帖最后由 唐志海 于 2014-2-7 12:02 编辑
为什么会出现没找到文件的错误。文件时存在的。。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class copyFile {
//static String source="G:\\tupian";
//static String target="d:\\tupianCopy";
public static void main(String[] args) throws IOException {
File SourceDir=new File("G:\\tupian");
File targetFile=new File("d:\\tupianCopy");
System.out.println(targetFile.mkdirs());
copy(SourceDir,targetFile);
}
public static void copy(File Sourcedir,File targetFile) throws IOException
{
//new File("G:\\tupianCopy").mkdirs();
File[] file=Sourcedir.listFiles();
for(File ff:file)
{
if(!ff.isHidden()&&ff.isDirectory())
{
targetFile=new File(targetFile.getAbsoluteFile()+File.separator+ff.getName());//目标文件夹
targetFile.mkdirs();//创建目标文件夹
copy(ff,targetFile);
}
else
{
FileInputStream fis=new FileInputStream(Sourcedir);
FileOutputStream fio=new FileOutputStream(targetFile);
int num=0;
while((num=fis.read())!=-1)
{
fio.write(num);
}
fio.close();
}
}
}
}
复制代码
作者:
唐志海
时间:
2014-2-7 03:56
修改成targetFile.getAbsoluteFile()还是错误。。。
作者:
唐志海
时间:
2014-2-7 04:00
java.io.FileNotFoundException。。。我的文件是存在的
作者:
唐志海
时间:
2014-2-7 11:24
唐志海 发表于 2014-2-7 03:56
修改成targetFile.getAbsoluteFile()还是错误。。。
您看下,现在错误时这样子的,帮忙解决一下
Exception in thread "main" java.io.FileNotFoundException: G:\tupian (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at File.copyFile.copy(copyFile.java:57)
at File.copyFile.main(copyFile.java:28)
复制代码
作者:
唐志海
时间:
2014-2-7 12:02
咳,昨天真晕菜了。。。IO读取的时候是目录,难怪会出现错误。。这是修改后的代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class copyFile {
static String source="G:\\tupian";
static String target="d:\\tupianCopy";
public static void main(String[] args) throws IOException {
File SourceDir=new File(source);
File targetFile=new File(target);
System.out.println(targetFile.mkdirs());
copy(SourceDir,targetFile);
}
public static void copy(File Sourcedir,File targetFile) throws IOException
{
File[] file=Sourcedir.listFiles();
for(int x=0;x<file.length;x++ )
{
if(!file[x].isHidden()&&file[x].isDirectory())
{
File sourcedir=new File(Sourcedir.getAbsoluteFile()+File.separator+file[x].getName());
File targetFile2=new File(targetFile.getAbsoluteFile()+File.separator+file[x].getName());//目标文件夹
targetFile2.mkdirs();//创建目标文件夹
copy(sourcedir,targetFile2);
}
else
{
File sourceFile=new File(Sourcedir+File.separator+file[x].getName());
File targetFile2=new File(targetFile.getAbsoluteFile()+File.separator+file[x].getName());
FileInputStream fis=new FileInputStream(sourceFile);
FileOutputStream fio=new FileOutputStream(targetFile2);
int num=0;
while((num=fis.read())!=-1)
{
fio.write(num);
}
fio.close();
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2