首页

在java中关于实现文件和文件的复制,提供示例代码

标签:java,file,File,IO,io,InputStream,FileOutputStream,FileInputStream,流,文件操作类     发布时间:2015-06-06   

一、文件复制,示例方法代码如下:

/**@b@* 复制单个文件@b@* @param srcPath String 原文件路径,如:c:/test.txt@b@* @param targetPath String 复制后路径@b@* @return 空@b@*/@b@public void copyFile(String srcPath,String targetPath){@b@        try{@b@            int ub=0;@b@            File srcfile=new File(srcPath);@b@            if(srcfile.exists()){//判断文件是否存在@b@                InputStream instr=new FileInputStream(srcPath);//读取文件@b@                FileOutputStream fs=new FileOutputStream(targetPath);//写入目标文件@b@                byte[] buf =new byte[1024];@b@                while ((ub = instr.read(buf)) != -1) {@b@                    fs.write(buf,0,ub);@b@                }    @b@                instr.close();    @b@            }@b@            @b@        }catch(Exception e){@b@            e.printStackTrace();@b@        }@b@    }

二、文件夹复制,示例方法代码如下:

/**@b@* 复制整个文件夹内容@b@* @param srcPath String 原文件路径,如:c:/srcPath@b@* @param targetPath String 复制后路径@b@* @return 空@b@*/@b@public void copyFolder(String srcPath, String targetPath) {@b@        try {@b@            (new File(targetPath)).mkdirs();// 如果目标文件夹中如有不存在,首先创建出来@b@            File f = new File(srcPath);@b@            String[] fs = f.list();@b@            File tmp = null;@b@            for (int i = 0; i < fs.length; i++) {@b@                if (srcPath.endsWith(File.separator)) {@b@                    tmp = new File(srcPath + fs[i]);@b@                } else {@b@                    tmp = new File(srcPath + File.separator + fs[i]);@b@                }@b@@b@                if (tmp.isFile()) {@b@                    FileInputStream input = new FileInputStream(tmp);@b@                    FileOutputStream output = new FileOutputStream(targetPath + File.separator + (tmp.getName()).toString());@b@                    byte[] b = new byte[1024];@b@                    int len;@b@                    while ((len = input.read(b)) != -1) {@b@                        output.write(b, 0, len);@b@                    }@b@@b@                    output.flush();@b@                    output.close();@b@                    input.close();@b@                }@b@@b@                if (tmp.isDirectory()) {@b@                    copyFolder(srcPath + File.separator + fs[i], targetPath + File.separator + fs[i]);@b@                }@b@@b@            }@b@@b@        } catch (Exception e) {@b@            e.printStackTrace();@b@        }@b@    }

总结

java关于File类提供了文件创建、删除和移动,但没有提供复制方法,所以需要自己实现文件和文件夹复制功能。

<<热门下载>>