从文件夹中复制指定的文件到另一个文件夹
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 中,而不是指定的文件夹中 - 为啥?