java基础之文件(夹)复制到另一个文件夹
2017-02-23 19:14
369 查看
文件或文件夹复制到另一个文件夹
public class FileCopy { public static void main(String[] args) { File sourceFile = new File("e:\\javaIO"); File targetFile = new File("e:\\javaFile");// 目标文件 System.out.println("共复制以下文件!"); copyDirectory(sourceFile, targetFile); } private static void copyDirectory(File sourceFile, File targetFile) { if (sourceFile.isFile()) {// 如果是文件,则直接复制 copyFile(sourceFile, new File(targetFile, sourceFile.getName())); System.out.println(sourceFile.getName()+"拷贝完成"); } else {//如果是目录,则遍历 File file = new File(targetFile, sourceFile.getName());//创建子文件夹 file.mkdirs(); System.out.println(file.getName()+"目录创建完成!"); File[] files = sourceFile.listFiles(); for (File file2 : files) { copyDirectory(file2, file); } } }
=================copyFile方法========================
方法一:用RandomAccessFile
private static void copyFile(File sourceFile, File targetDir) { // TODO Auto-generated method stub RandomAccessFile rafSource = null; RandomAccessFile rafTarget =null; try { rafSource = new RandomAccessFile(sourceFile, "r"); rafTarget = new RandomAccessFile(targetDir, "rw"); rafTarget.setLength(sourceFile.length()); byte[] buff = new byte[1024*4]; int length = 0; while((length=rafSource.read(buff)) != -1){ rafTarget.write(buff, 0, length); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ IOUtils.closeRandomAccessFile(rafTarget); IOUtils.closeRandomAccessFile(rafSource); } }
方法二 IO流
public static void copyFile(File sourceFile, File targetFile) { BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream(sourceFile)); bos = new BufferedOutputStream(new FileOutputStream(targetFile)); byte[] buff = new byte[1024]; int length; while (-1 != (length = bis.read(buff))) { bos.write(buff, 0, length); } bos.flush(); } catch (FileNotFoundException e) { System.out.println("路径不存在"); System.exit(-1); } catch (IOException e) { System.out.println("文件读写错误"); System.exit(-1); } finally { IOUtils.closeInputStream(bis); IOUtils.closeOutputStream(bos); } } }
IOUtils工具类…..
相关文章推荐
- java--基础---复制文件夹及其中的文件
- Java IO 复制一个文件到另一个文件夹下
- java中 功能:演示文件字符流的案例 * 将文件从一个文件夹复制到另一个文件夹 */
- java 复制文件到另一个文件夹
- java遍历文件夹并将文件夹里的所有文件同样的复制到另一个文件中
- java复制文件夹中的所有文件和文件夹到另一个文件夹中
- java复制文件夹中的所有文件和文件夹到另一个文件夹中
- java读取文件夹中文件,并复制内容到另一个文件中
- java基础—IO流——复制一个文件到当前文件夹中
- 复制一个文件夹中的所有文件和文件夹的java程序实现
- Java中复制文件和文件夹的操作,异常未处理,无注释-_-!
- java將幾個文件打包 新建文件夾 刪除文件夾 将某文件夹下面的文件移动到另一个文件夹
- Java中实现复制文件或文件夹——CopyUtil.java
- Java 写文件,读文件,复制文件,复制文件夹
- java遍历文件夹并复制文件到指定目录
- android-Java中实现复制文件或文件夹 - 随心
- java复制文件或文件夹
- java遍历文件夹并复制文件到指定目录
- java中实现复制文件和文件夹
- java复制文件、文件夹