/** * 复制文件夹到另外的文件夹 */ public void process() { Calendar calendar = Calendar.getInstance(); String dir = calendar.get(Calendar.YEAR) + "" + getTimeString(calendar.get(Calendar.MONTH) + ""); String oldPath = "/img2" + dir; String newPath = "/img5" + dir; try { while(true){ System.out.println("复制 " + oldPath + " 目录开始"); long t1 = System.currentTimeMillis(); num = 0; copyFolder(oldPath, newPath); long t2 = System.currentTimeMillis(); System.out.println("复制目录结束,用时:" + (t2-t1) + "ms,共复制:" + num + "文件"); } } catch (Exception ex) { ex.printStackTrace(); } } public void copyFolder(String oldPath, String newPath) { try { File mFile = new File(newPath); if(!mFile .exists()){ (new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹 } File a = new File(oldPath); String[] file = a.list(); File temp = null; for (int i = 0; i < file.length; i++) { if (oldPath.endsWith(File.separator)) { temp = new File(oldPath + file[i]); } else { temp = new File(oldPath + File.separator + file[i]); } if (temp.isFile()) { String fileName = newPath + "/" + (temp.getName()).toString(); File testFile = new File(fileName); if (!testFile.exists()) { FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(fileName); byte[] b = new byte[1024 * 5]; int len; while ((len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); num++; } } if (temp.isDirectory()) {// 如果是子文件夹 copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } }
package com.fh.util; import java.io.BufferedInputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import org.apache.commons.io.FileUtils; import org.springframework.web.multipart.MultipartFile; /** * 说明:上传文件 * 作者:FH Admin * 官网:fhadmin.cn */ public class FileUpload { /**上传文件 * @param file //文件对象 * @param filePath //上传路径 * @param fileName //文件名 * @return 文件名 */ public static String fileUp(MultipartFile file, String filePath, String fileName){ String extName = ""; // 扩展名格式: try { if (file.getOriginalFilename().lastIndexOf(".") >= 0){ extName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); } copyFile(file.getInputStream(), filePath, fileName+extName).replaceAll("-", ""); } catch (IOException e) { System.out.println(e); } return fileName+extName; } /** * 写文件到当前目录的upload目录中 * @param in * @param fileName * @throws IOException */ public static String copyFile(InputStream in, String dir, String realName) throws IOException { File file = mkdirsmy(dir,realName); FileUtils.copyInputStreamToFile(in, file); in.close(); return realName; } /**判断路径是否存在,否:创建此路径 * @param dir 文件路径 * @param realName 文件名 * @throws IOException */ public static File mkdirsmy(String dir, String realName) throws IOException{ File file = new File(dir, realName); if (!file.exists()) { if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } file.createNewFile(); } return file; } /**下载网络图片上传到服务器上 * @param httpUrl 图片网络地址 * @param filePath 图片保存路径 * @param myFileName 图片文件名(null时用网络图片原名) * @return 返回图片名称 */ public static String getHtmlPicture(String httpUrl, String filePath , String myFileName) { URL url; //定义URL对象url BufferedInputStream in; //定义输入字节缓冲流对象in FileOutputStream file; //定义文件输出流对象file try { String fileName = null == myFileName?httpUrl.substring(httpUrl.lastIndexOf("/")).replace("/", ""):myFileName; //图片文件名(null时用网络图片原名) url = new URL(httpUrl); //初始化url对象 in = new BufferedInputStream(url.openStream()); //初始化in对象,也就是获得url字节流 //file = new FileOutputStream(new File(filePath +"\\"+ fileName)); file = new FileOutputStream(mkdirsmy(filePath,fileName)); int t; while ((t = in.read()) != -1) { file.write(t); } file.close(); in.close(); return fileName; } catch (MalformedURLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } } package com.fh.util; import java.io.BufferedOutputStream; import java.io.OutputStream; import java.net.URLEncoder; import javax.servlet.http.HttpServletResponse; /** * 说明:下载文件 * 作者:FH Admin * 官网:fhadmin.cn */ public class FileDownload { /** * @param response * @param filePath //文件完整路径(包括文件名和扩展名) * @param fileName //下载后看到的文件名 * @return 文件名 */ public static void fileDownload(final HttpServletResponse response, String filePath, String fileName) throws Exception{ byte[] data = FileUtil.toByteArray2(filePath); fileName = URLEncoder.encode(fileName, "UTF-8"); response.reset(); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.addHeader("Content-Length", "" + data.length); response.setContentType("application/octet-stream;charset=UTF-8"); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); outputStream.write(data); outputStream.flush(); outputStream.close(); response.flushBuffer(); } }
标签:文件,file,io,fileName,文件夹,File,import,new,String From: https://www.cnblogs.com/xiaoyanger-study/p/16798059.html