从文件夹中复制指定的文件到另一个文件夹

Posted Guliyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从文件夹中复制指定的文件到另一个文件夹相关的知识,希望对你有一定的参考价值。

1、以下方法均在A类中

/**
*localPath:源文件夹的路径
*filterIrpFileFolderPath:存放复制后的文件的路径
*fileType:过滤要复制的文件的条件
*/
private
void filterIrpFiles(String localPath, String filterIrpFileFolderPath, String fileType) { if (StringUtil.isEmpty(localPath) || StringUtil.isEmpty(filterIrpFileFolderPath)) { return; } File folder = new File(localPath); if (!folder.exists()) { return; } File[] files = folder.listFiles(); if (null == files) { return; } // 创建文件夹 File dir = new File(filterIrpFileFolderPath); if (!dir.exists()) { dir.mkdirs(); } for (File file : files) { if (!file.isFile()) { continue; } if (!file.getName().trim().contains(fileType)) { continue; } copyFile(filterIrpFileFolderPath, file); } }
private void copyFile(String filterIrpFileFolderPath, File file)
    {
        InputStream is = null;
        OutputStream os = null;
        try
        {
            File osFile = new File(filterIrpFileFolderPath + File.separator + file.getName().trim());
            if (!osFile.exists())
            {
                osFile.createNewFile();
            }
            is = new FileInputStream(file);
            os = new FileOutputStream(osFile);
            byte[] flush = new byte[1024];
            int len = -1;

            while((len = is.read(flush)) != -1)
            {
                os.write(flush, 0, len);
            }
       // 刷新缓存
            os.flush();
        }
        catch (IOException e)
        {
            logger.error(e);
        }
        finally
        {
            if (os != null) {
                try {
                    os.close();
                } catch (IOException e) {
                    log.error(e);
                }
            }
            if (is != null) {
                try {
                    is.close();
                } catch (IOException e) {
                    log.error(e);
                }
            }
        }
    }

TEST:

public static void main(String[] args)
{
    A a= new A();
    a.filterIrpFiles("D:\\AX_EDI\\HaviToGodiva", "D:\\EC_EDI\\HaviToGodiva", "DC");
}

 

以上是关于从文件夹中复制指定的文件到另一个文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何根据指定目录从一个文件夹中(含子文件夹)中搜索对应文件并自动复制至新路径下?

使用 Apps 脚本将文件从一个文件夹复制到另一个文件夹时,被复制的任何“Apps 脚本”文件最终都会出现在 MyDrive 中,而不是指定的文件夹中 - 为啥?

linux下怎么把一个文件复制到另一个文件夹?

linux下怎么把一个文件复制到另一个文件夹

linux下怎么把一个文件复制到另一个文件夹?

完全下载文件时,将下载的文件从一个片段传递到另一个片段