精华内容
下载资源
问答
  • 2019-11-19 09:45:40
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 文件工具
     *
     * @author: 向振华
     * @date: 2019/11/19 09:00
     */
    public class FileUtil {
    
        /**
         * 获取文件列表
         *
         * @param sourceFolderDirectory 源文件夹目录
         * @param isAll                 是否获取全部文件,true获取全部,false只获取路径下的文件,不包括路径下子文件夹的文件
         * @return 返回文件列表
         */
        public static List<File> getFileList(String sourceFolderDirectory, boolean isAll) {
            List<File> fileList = new ArrayList<>();
            File dir = new File(sourceFolderDirectory);
            // 该文件目录下文件全部放入数组
            File[] files = dir.listFiles();
            if (files == null) {
                return null;
            }
            for (File file : files) {
                if (file.isDirectory()) {
                    if (isAll) {
                        List<File> innerFileList = getFileList(file.getAbsolutePath(), true);
                        if (!CollectionUtils.isEmpty(innerFileList)) {
                            fileList.addAll(innerFileList);
                        }
                    }
                } else if (file.isFile()) {
                    fileList.add(file);
                }
            }
            return fileList;
        }
    
       /**
         * 根据关键字复制
         *
         * @param sourceFolderDirectory 源文件夹目录
         * @param targetFolderDirectory 目标文件夹目录
         * @param includeKeys           关键字 (为null或""时 复制所有)
         */
        public static void copyByKey(String sourceFolderDirectory, String targetFolderDirectory, String... includeKeys) {
            List<File> fileList = getFileList(sourceFolderDirectory, true);
            if (fileList == null) {
                return;
            }
            for (File file : fileList) {
                for (String key : includeKeys) {
                    if (key != null && !file.getName().contains(key)) {
                        continue;
                    }
                    copy(file.getAbsolutePath(), targetFolderDirectory);
                }
            }
        }
    
        /**
         * 排除关键字复制
         *
         * @param sourceFolderDirectory 源文件夹目录
         * @param targetFolderDirectory 目标文件夹目录
         * @param excludeKeys           排除的关键字
         */
        public static void copyWithoutKey(String sourceFolderDirectory, String targetFolderDirectory, String... excludeKeys) {
            if (excludeKeys == null) {
                return;
            }
            List<File> fileList = getFileList(sourceFolderDirectory, true);
            if (fileList == null) {
                return;
            }
            boolean flag = true;
            for (File file : fileList) {
                for (String key : excludeKeys) {
                    if (file.getName().toLowerCase().endsWith(key.toLowerCase())) {
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    copy(file.getAbsolutePath(), targetFolderDirectory);
                } else {
                    flag = true;
                }
            }
        }
    
        /**
         * 文件复制
         *
         * @param absolutePath          源文件路径
         * @param targetFolderDirectory 目标文件夹目录
         */
        public static void copy(String absolutePath, String targetFolderDirectory) {
            File dir = new File(targetFolderDirectory);
            if (!dir.isDirectory()) {
                // 如果目录不存在则创建
                dir.mkdir();
            }
            String newNamePath = getNewNamePath(absolutePath, targetFolderDirectory);
            try {
                FileInputStream fis = new FileInputStream(absolutePath);
                FileOutputStream fos = new FileOutputStream(newNamePath);
                byte[] datas = new byte[1024 * 8];
                int len;
                while ((len = fis.read(datas)) != -1) {
                    fos.write(datas, 0, len);
                }
                fis.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    
        public static void main(String[] args) {
            copyByKey("D:\\develop\\bin\\examples", "D:\\test", null);
        }
    }
    

    更多相关内容
  • java文件复制方法Java copy file is a very common operation. But java.io.File class doesn’t have any shortcut method to copy a file from source to destination. Here we will learn about four different ...

    java文件复制方法

    Java copy file is a very common operation. But java.io.File class doesn’t have any shortcut method to copy a file from source to destination. Here we will learn about four different ways we can copy file in java.

    Java复制文件是非常常见的操作。 但是java.io.File类没有任何快捷方式将文件从源复制到目标。 在这里,我们将学习四种在java中复制文件的方法。

    Java复制文件 (Java Copy File)

    1. Java Copy File – Stream

      Java复制文件–流

    This is the conventional way of file copy in java. Here we create two Files – source and destination. Then we create InputStream from source and write it to the destination file using OutputStream for java copy file operation.

    这是Java中文件复制的常规方式。 在这里,我们创建两个文件-源文件和目标文件。 然后,我们从源创建InputStream并使用OutputStream进行java复制文件操作,将其写入目标文件。

    Here is the method that can be used for java copy file using streams.

    这是可用于使用流的Java复制文件的方法。

    private static void copyFileUsingStream(File source, File dest) throws IOException {
        InputStream is = null;
        OutputStream os = null;
        try {
            is = new FileInputStream(source);
            os = new FileOutputStream(dest);
            byte[] buffer = new byte[1024];
            int length;
            while ((length = is.read(buffer)) > 0) {
                os.write(buffer, 0, length);
            }
        } finally {
            is.close();
            os.close();
        }
    }
    1. Java Copy File – java.nio.channels.FileChannel

      Java复制文件– java.nio.channels.FileChannel

    Java NIO classes were introduced in Java 1.4 and FileChannel can be used to copy file in java. According to transferFrom() method javadoc, this way of copy file is supposed to be faster than using Streams for java copy files.

    Java NIO类是在Java 1.4中引入的,FileChannel可用于在Java中复制文件。 根据transferFrom()方法javadoc,这种复制文件的方式应该比使用Streams进行Java复制文件要快。

    Here is the method that can be used to copy a file using FileChannel.

    这是可以使用FileChannel复制文件的方法。

    private static void copyFileUsingChannel(File source, File dest) throws IOException {
        FileChannel sourceChannel = null;
        FileChannel destChannel = null;
        try {
            sourceChannel = new FileInputStream(source).getChannel();
            destChannel = new FileOutputStream(dest).getChannel();
            destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
           }finally{
               sourceChannel.close();
               destChannel.close();
       }
    }
    1. Java Copy File – Apache Commons IO FileUtils

      Java复制文件– Apache Commons IO FileUtils

    Apache Commons IO FileUtils.copyFile(File srcFile, File destFile) can be used to copy file in java. If you are already using Apache Commons IO in your project, it makes sense to use this for code simplicity. Internally it uses Java NIO FileChannel, so you can avoid this wrapper method if you are not already using it for other functions.

    Apache Commons IO FileUtilscopyFile(File srcFile,File destFile)可用于在Java中复制文件。 如果您已经在项目中使用Apache Commons IO,则使用它来简化代码是很有意义的。 它在内部使用Java NIO FileChannel,因此如果尚未将其用于其他功能,则可以避免使用该包装器方法。

    Here is the method for using apache commons io for java copy file operation.

    这是将apache commons io用于Java复制文件操作的方法。

    private static void copyFileUsingApacheCommonsIO(File source, File dest) throws IOException {
        FileUtils.copyFile(source, dest);
    }
    1. Java Copy File – Files class

      Java复制文件–文件类

    If you are working on Java 7 or higher, you can use Files class copy() method to copy file in java. It uses File System providers to copy the files.

    如果您使用的是Java 7或更高版本,则可以使用Files类的copy()方法在Java中复制文件。 它使用文件系统提供程序来复制文件。

    private static void copyFileUsingJava7Files(File source, File dest) throws IOException {
        Files.copy(source.toPath(), dest.toPath());
    }

    Now to find out which is the fastest method, I wrote a test class and executed above methods one-by-one for copy file of 1 GB. In each call, I used different files to avoid any benefit to later methods because of caching.

    现在,找出哪种方法最快,我编写了一个测试类,并针对1 GB的副本文件逐个执行了上述方法。 在每个调用中,我都使用了不同的文件,以避免由于缓存而对以后的方法产生任何好处。

    package com.journaldev.files;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.nio.channels.FileChannel;
    import java.nio.file.Files;
    
    import org.apache.commons.io.FileUtils;
    
    public class JavaCopyFile {
    
        public static void main(String[] args) throws InterruptedException, IOException {
            File source = new File("/Users/pankaj/tmp/source.avi");
            File dest = new File("/Users/pankaj/tmp/dest.avi");
    
            //copy file conventional way using Stream
            long start = System.nanoTime();
            copyFileUsingStream(source, dest);
            System.out.println("Time taken by Stream Copy = "+(System.nanoTime()-start));
            
            //copy files using java.nio FileChannel
            source = new File("/Users/pankaj/tmp/sourceChannel.avi");
            dest = new File("/Users/pankaj/tmp/destChannel.avi");
            start = System.nanoTime();
            copyFileUsingChannel(source, dest);
            System.out.println("Time taken by Channel Copy = "+(System.nanoTime()-start));
            
            //copy files using apache commons io
            source = new File("/Users/pankaj/tmp/sourceApache.avi");
            dest = new File("/Users/pankaj/tmp/destApache.avi");
            start = System.nanoTime();
            copyFileUsingApacheCommonsIO(source, dest);
            System.out.println("Time taken by Apache Commons IO Copy = "+(System.nanoTime()-start));
            
            //using Java 7 Files class
            source = new File("/Users/pankaj/tmp/sourceJava7.avi");
            dest = new File("/Users/pankaj/tmp/destJava7.avi");
            start = System.nanoTime();
            copyFileUsingJava7Files(source, dest);
            System.out.println("Time taken by Java7 Files Copy = "+(System.nanoTime()-start));        
        }
    }

    Here is the output of the above program, note that I commented above code to make sure every time only one method is used for java file copy operation.

    这是上面程序的输出,请注意,我注释了上面的代码,以确保每次仅将一种方法用于Java文件复制操作。

    Time taken by Stream Copy = 44582575000
    Time taken by Channel Copy = 104138195000
    Time taken by Apache Commons IO Copy = 108396714000
    Time taken by Java7 Files Copy = 89061578000

    From the output, it’s clear that Stream Copy is the best way to copy File in Java. But it’s a very basic test. If you are working on a performance intensive project, then you should try out different methods for java copy file and note down the timings to figure out the best approach for your project.

    从输出中可以明显看出,Stream Copy是用Java复制File的最佳方法。 但这是一个非常基本的测试。 如果您正在处理一个性能密集型项目,则应尝试使用Java复制文件的不同方法,并记下时间安排,以找到适合您项目的最佳方法。

    You should also play around different ways of java copy files based on your average size of the file.

    您还应该根据文件的平均大小来尝试不同的Java复制文件方式。

    I have created a YouTube video for 4 ways to copy the file in java, you can watch it to learn more.

    我已经创建了一种YouTube视频,提供了4种方法来复制Java文件,您可以观看它以了解更多信息。

    演示地址

    翻译自: https://www.journaldev.com/861/java-copy-file

    java文件复制方法

    展开全文
  • Java复制文件的4种方法

    千次阅读 2021-02-12 09:05:36
    Java拷贝文件是一种非常常见的操作。...方法一:使用Stream这是java中传统的文件复制方式。这里创建两个文件 - source和destination。然后从source创建InputStream并使用OutputStream将它写入destination文...

    Java拷贝文件是一种非常常见的操作。但是java.io.File类没有任何快捷方法可以将文件从源复制到目标文件。在这里,我们将了解学习可以在java中复制文件的四种不同方法。

    方法一:使用Stream

    这是java中传统的文件复制方式。这里创建两个文件 - source和destination。然后从source创建InputStream并使用OutputStream将它写入destination文件以进行复制文件操作。

    下面是使用流来复制文件的示例代码。

    private static void copyFileUsingStream(File source, File dest) throws IOException {

    InputStream is = null;

    OutputStream os = null;

    try {

    is = new FileInputStream(source);

    os = new FileOutputStream(dest);

    byte[] buffer = new byte[1024];

    int length;

    while ((length = is.read(buffer)) > 0) {

    os.write(buffer, 0, length);

    }

    } finally {

    is.close();

    os.close();

    }

    }

    方法二:使用java.nio.channels.FileChannel类

    Java NIO类在Java 1.4中引入,FileChannel类可用于复制文件。它的transferFrom()方法就可以完成,这种复制文件的方式应该比Stream复制文件更快。

    以下是使用FileChannel复制文件的示例代码。

    private static void copyFileUsingChannel(File source, File dest) throws IOException {

    FileChannel sourceChannel = null;

    FileChannel destChannel = null;

    try {

    sourceChannel = new FileInputStream(source).getChannel();

    destChannel = new FileOutputStream(dest).getChannel();

    destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());

    }finally{

    sourceChannel.close();

    destChannel.close();

    }

    }

    方法三: 使用FileUtils

    可通过使用Apache Commons IO中的FileUtils.copyFile(File srcFile,File destFile)可用于复制文件。如果已经在项目中使用Apache Commons IO,那么使用它来简化代码是比较容易的。在内部它使用Java NIO FileChannel,因此如果尚未将它用于其他功能,则可以避免使用此包方法。

    以下是使用apache commons io进行java复制文件操作的示例代码。

    private static void copyFileUsingApacheCommonsIO(File source, File dest) throws IOException {

    FileUtils.copyFile(source, dest);

    }

    方法四:使用Files类

    如果使用Java 7或更高版本,则可以使用Files类的copy()方法复制文件。它使用文件系统提供程序来复制文件。

    private static void copyFileUsingJava7Files(File source, File dest) throws IOException {

    Files.copy(source.toPath(), dest.toPath());

    }

    知道上面哪个复制方法是最快的吗?下面编写了一个测试类并逐个执行上面的方法,用于1GB的复制文件。在每次调用中,使用不同的文件来避免因为缓存而对以后的方法带来偏差。

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.OutputStream;

    import java.nio.channels.FileChannel;

    import java.nio.file.Files;

    import org.apache.commons.io.FileUtils;

    public class JavaFile {

    public static void main(String[] args) throws InterruptedException, IOException {

    File source = new File("D:/users/maxsu/tmp/source.avi");

    File dest = new File("D:/users/maxsu/tmp/dest.avi");

    // 使用常规方式(Stream)复制文件

    long start = System.nanoTime();

    copyFileUsingStream(source, dest);

    System.out.println("Time taken by Stream = "+(System.nanoTime()-start));

    //使用java.nio FileChannel复制文件

    source = new File("D:/users/maxsu/tmp/sourceChannel.avi");

    dest = new File("D:/users/maxsu/tmp/destChannel.avi");

    start = System.nanoTime();

    copyFileUsingChannel(source, dest);

    System.out.println("Time taken by Channel = "+(System.nanoTime()-start));

    // 使用 apache commons io复制文件

    source = new File("D:/users/maxsu/tmp/sourceApache.avi");

    dest = new File("D:/users/maxsu/tmp/destApache.avi");

    start = System.nanoTime();

    copyFileUsingApacheCommonsIO(source, dest);

    System.out.println("Time taken by Apache Commons IO = "+(System.nanoTime()-start));

    // 使用 Java 7 Files类复制文件

    source = new File("D:/users/maxsu/tmp/sourceJava7.avi");

    dest = new File("D:/users/maxsu/tmp/destJava7.avi");

    start = System.nanoTime();

    copyFileUsingJava7Files(source, dest);

    System.out.println("Time taken by Java7 Files = "+(System.nanoTime()-start));

    }

    }

    下面是上述程序的输出,请注意在上面的代码中注释,以确保每次只有一个方法用于java文件复制操作。

    Time taken by Stream = 44582575000

    Time taken by Channel = 104138195000

    Time taken by Apache Commons IO = 108396714000

    Time taken by Java7 Files = 89061578000

    从输出中可以清楚地看出,Stream复制是在Java中复制文件的最佳方式。但这是一个非常基本的测试。如果开发一个性能密集型项目,那么应该尝试不同的复制文件方法,并记下时间,以找出项目的最佳方法。

    ¥ 我要打赏

    纠错/补充

    收藏

    加QQ群啦,易百教程官方技术学习群

    注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

    展开全文
  • Java文件快速copy复制

    万次阅读 多人点赞 2020-12-29 16:55:18
    最近学习netty的时候发现nio包下有个FileChannel类,经过了解这个类作用是个专门负责传输文件的通道,支持多线程,而且经过测试FileChannel复制文件的速度比BufferedInputStream/BufferedOutputStream复制文件的速度...

    最近学习netty的时候发现nio包下有个FileChannel类,经过了解这个类作用是个专门负责传输文件的通道,支持多线程,而且经过反复多次测试FileChannel复制文件的速度比BufferedInputStream/BufferedOutputStream复制文件的速度快了近三分之一。在复制大文件的时候更加体现出FileChannel的速度优势。而且FileChannel是多并发线程安全的。代码也比较简洁

    代码贴下

    package com.niu.nio;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.nio.channels.FileChannel;
    
    /**
     * @description:
     * @author: nxq email: niuxiangqian163@163.com
     * @createDate: 2020/12/28 5:48 下午
     * @updateUser: nxq email: niuxiangqian163@163.com
     * @updateDate: 2020/12/28 5:48 下午
     * @updateRemark:
     * @version: 1.0
     **/
    public class Main {
        public static void main(String[] args) {
        quickCopy(new File("/Users/laoniu/a.txt"),new File("/Users/laoniu/b.txt"));
        }
        /**
         * 快速copy
         * @author nxq
         * @param src: 源文件
         * @param target: 目标文件
         * @return void
         */
        public static void quickCopy(File src, File target){
            try(FileInputStream inputStream = new FileInputStream(src);
                FileOutputStream outputStream = new FileOutputStream(target);
                FileChannel inputChannel = inputStream.getChannel(); // 得到源文件通道
                FileChannel outputChannel = outputStream.getChannel()// 得到目标文件通道
            ) {
                //将源文件数据通达连通到目标文件通道进行传输
                inputChannel.transferTo(0,inputChannel.size(),outputChannel);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
    

    关于这种io流关闭方式不清楚的同学请看我这篇文章:https://laoniu.blog.csdn.net/article/details/111896446

    测试对比

    复制目标文件:

    4.76GB

    代码

    package com.niu.nio;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.nio.channels.FileChannel;
    
    /**
     * @description:
     * @author: nxq email: niuxiangqian163@163.com
     * @createDate: 2020/12/28 5:48 下午
     * @updateUser: nxq email: niuxiangqian163@163.com
     * @updateDate: 2020/12/28 5:48 下午
     * @updateRemark:
     * @version: 1.0
     **/
    public class Main {
        public static void main(String[] args) {
            long start = System.currentTimeMillis();
            File src = new File("/Users/laoniu/Downloads/installer/cn_windows_10_business_edition_version_1809_updated_sept_2018_x64_dvd_fc5542c0.iso"); //文件4.76GB
         quickCopy(src,new File("/Users/laoniu/test/a.iso"));
             long end = System.currentTimeMillis();
            System.out.println("FileChannel复制:"+(end - start));
    
             start = System.currentTimeMillis();
            copy(src,new File("/Users/laoniu/test/b.iso"));
             end = System.currentTimeMillis();
            System.out.println("普通复制:"+(end - start));
    
    
        }
        /**
         * 快速copy
         * @author nxq
         * @param src: 源文件
         * @param target: 目标文件
         * @return void
         */
        public static void quickCopy(File src, File target){
            try(FileInputStream inputStream = new FileInputStream(src);
                FileOutputStream outputStream = new FileOutputStream(target);
                FileChannel inputChannel = inputStream.getChannel(); // 得到源文件文件通道
                FileChannel outputChannel = outputStream.getChannel()// 得到目标文件通道
            ) {
                //将源文件数据通达连通到目标文件通道进行传输
                inputChannel.transferTo(0,inputChannel.size(),outputChannel);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        /**
         * 普通copy
         * @author nxq
         * @param src:
         * @param target:
         * @return void
         */
        public static void copy(File src, File target){
            try(FileInputStream inputStream = new FileInputStream(src);
                FileOutputStream outputStream = new FileOutputStream(target);
            ) {
                byte[] data = new byte[1024*1024]; //加大每次读取的数据多少
                int len;
                while ((len = inputStream.read(data))!=-1){
                    outputStream.write(data,0,len);
                }
    
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    
    }
    

    加大每次读取的数据到1024*1024,否则更慢

    结果

    展开全文
  • Java 文件复制

    千次阅读 2019-05-08 21:01:47
    文件复制可能在电脑上直接Ctrl+C和Ctrl+V就可以把文件和文件里面的信息都复制到选择复制的文件夹,这个过程是很简单的;而在java里面通过代码去实现就不是很简单了,下面我就把我在java中实现复制的过程步骤讲一下:...
  • java将一个文件复制到另一个文件夹

    千次阅读 2021-02-26 09:52:56
    我们在web端操作文件(对附件进行管理)的时候,...publicstaticvoidmain(String[]args)throwsIOException{//获取要复制文件Fileoldfile=newFile("D:\\IoTest\\aaa.txt");//文件输入流,用于读取要复制文件FileInp...
  • java实现文件复制,移动

    千次阅读 2021-02-28 10:51:41
    package test;import java.io.File;//引入类import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;...//实现文件的简...
  • java 快速复制文件,移动文件

    千次阅读 2018-08-07 23:34:12
    1、File 类的renameTo方法,只移动文件,移动后源目录没有文件 File file = new File(srcFilePath+srcFileName);  File targetFile =new File(realFile);    if(!targetFile.getParentFile().exists()) {  ...
  • Java复制文件的4种方式

    万次阅读 2018-03-30 13:33:07
    java复制文件的4种方式... 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式。 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A...
  • 此程序可以将指定的文件夹及其子目录复制到指定文件下去。 可玩性较强! import java.io.FileOutputStream; import java.io.FileInputStream; import java.util.Scanner; import java.io.*; public class Copy{ ...
  • java文件处理(3)——实现文件复制和文件移动

    万次阅读 多人点赞 2018-10-07 17:31:16
    通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件复制(而不是调用windows命令行的内部命令copy)。 通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件移动(而不是调用windows...
  • Java 复制文件并改名

    千次阅读 2018-02-12 11:35:16
    //引入包import java.io.File;import java.io.FileInputStream;...//获取文件目录并复制文件String url1 = getFullFilePath(D:\\a.txt); //目标文件String url2 = getFullFilePath(E:\\b.txt); //要赋值的路径及...
  • 话不多说,上代码:   ... import java.io.*;...import java.nio.channels.FileChannel; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /**  *  * @a...
  • Java获取文件类型的5种方法

    千次阅读 2021-02-05 08:00:00
    前言工作中经常会用到,判断一个文件文件类型,这里总结一把,一般判断文件类型的原理有2种方式:根据文件扩展名判断优点:速度快,代码简单缺点:无法判断出真实的文件类型,例如一些伪造的文件或者...
  • 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式。 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用Fil
  • 方法1:BufferedReader直接包装字符流、PrintWriter直接包装字符流 方法2:不包装直接使用字节流 方法3:BufferedReader直接包装字节流、PrintWriter(先转换)包装字节流 方法4:BufferedReader(先转换)包装...
  • java复制文件的4种方式

    千次阅读 2018-10-11 11:08:06
    这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B。 这是第一个方法的代码: 1 private static void copyFileUsingFileStreams...
  • java复制本地文件到指定目录

    千次阅读 2019-07-10 14:50:51
    import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class FileCopy { public static void main(String[] args) { String s= "da...
  • Java实现文件复制

    千次阅读 2019-05-06 12:48:00
    Java.io实现文件复制 需求:对一个文件进行复制方法: 实现文件复制,实际上就是读文件+写文件,即从一个文件中读取数据然后写到另外一个文件文件: 需求:往文件中写数据 读数据--输出流--FileReader...
  • java 文件拒绝访问

    千次阅读 2021-03-01 06:12:40
    权限问题 我没遇到过 网上有人这么说的 建议你换administrator运行一下你的classpath设置的问题 你看一下你的文件所在的包是否放在了classpath目录下编写Java程序时,应注意以下几点:大小写敏感:Java是大小写敏感...
  • 具体代码如下,需要导入junit的包package ...import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.j...
  • 6.从控制台获取输入的文件目录然后将该目录(包含子目录)下的.java文件复制到D:/java文件夹中    解题思路:  1,控制台输入两个文件路径  2,将路径下的文件遍历,碰到 .java 文件 就调用 复制函数,将相关...
  • IDEA中复制Module,出现Duplicate class found in the file XXX 解决方法 原因 我的是复制java文件但是类名没有改变导致的 解决 改成相同名字
  • java使用BufferedInputStream和BufferedOutputStream实现文件复制 import java.io.*; public class IODemo { public static void main(String[] args) { String src = ""; //源文件路径 String dest = ""; //目.....
  • 此程序可以将指定的文件夹及其子目录复制到指定文件下去。 可玩性较强! import java.io.FileOutputStream; import java.io.FileInputStream; import java.util.Scanner; import java.io.*; public class Copy{ ...
  • Java 实现复制文本文件的两种方法

    千次阅读 2016-08-26 15:55:21
    Java实现复制文本文件的两种方法 FileChannel这个类是继承于抽象类AbstractInterruptibleChannel,实现了接口ByteChannel,GatheringByteChannel,ScatteringByteChannel。 FileChannel这个是最便捷的方法实现复制...
  • Java实现文件的拷贝复制

    万次阅读 2017-10-18 19:41:12
    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;public class CopyFileDemo{ public static void main(String[] args){ //将F盘下面的file.txt文件拷贝到桌面 String
  • Java实现简单的文件复制功能

    千次阅读 2019-05-04 13:39:29
    1.文件复制: 从一个输入流中读取数据,然后通过输出流写入目标位置 一边读,一边写 2.代码: package com.lemon; import java.io.File; import java.io.FileInputStream; import java.io....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 685,364
精华内容 274,145
关键字:

java文件复制方法

java 订阅