public class FileUtil { // 创建文件夹 public static boolean createDir(String destDirName) { File dir = new File(destDirName); if (dir.exists()) { System.out.println("创建目录" + destDirName + "失败,目标目录已经存在"); return false; } if (!destDirName.endsWith(File.separator)) { destDirName = destDirName + File.separator; } // 创建目录 if (dir.mkdirs()) { System.out.println("创建目录" + destDirName + "成功!"); return true; } else { System.out.println("创建目录" + destDirName + "失败!"); return false; } } //删除文件夹 public static boolean deleteDir(String path){ File dirFile = new File(dir+"/"); if (!dirFile.isDirectory()) return; File[] listFiles = dirFile.listFiles(); try { FileUtils.deleteQuietly(listFiles[0]); FileUtils.deleteDirectory(dirFile); } catch (IOException e) { System.out.println(e); } } //复制图片 public static void copyPic(String sPath, String tPath){ try { //读取源地址文件的字节流 FileInputStream in=new FileInputStream(sPath); FileOutputStream out=new FileOutputStream(tPath); byte[]bs=new byte[1026]; int count=0; while ((count=in.read(bs,0,bs.length))!=-1) { //把读取到的字节流写入到目的地址的文件里面 out.write(bs,0,count); } //刷新下输出流 out.flush(); // 关闭输入流和输出流 out.close(); out.close(); System.out.println("复制成功!"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 复制文件夹 public static void copyDirectiory(String sourceDir, String targetDir) throws IOException { // 新建目标目录 (new File(targetDir)).mkdirs(); // 获取源文件夹当前下的文件或目录 File[] file = (new File(sourceDir)).listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isFile()) { // 源文件 File sourceFile = file[i]; // 目标文件 File targetFile = new File(new File(targetDir).getAbsolutePath() + File.separator + file[i].getName()); copyFile(sourceFile.getAbsolutePath(), targetFile.getAbsolutePath()); } if (file[i].isDirectory()) { // 准备复制的源文件夹 String dir1 = sourceDir + "/" + file[i].getName(); // 准备复制的目标文件夹 String dir2 = targetDir + "/" + file[i].getName(); copyDirectiory(dir1, dir2); } } } //图片重命名 public static void renameFile(String path, String oldname, String newname){ static void singleChange(){ file=new File(path + oldname); //指定文件名及路径 if (file.renameTo(new File(path+newname))) { System.out.println("修改成功!"); } else{ System.out.println("修改失败"); } } } //得到图片列表 public static Vector<String> fileList(String path){ List list = new ArrayList(); File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) { File file1 = files[i]; String fileName = file1.getName(); String prefix = fileName.substring(fileName.lastIndexOf(".") + 1) .toLowerCase(); if ("jpg".equals(prefix) || "png".equals(prefix) || "bmp".equals(prefix) || "gif".equals(prefix)) { list.add(fileName); } } } //拆分图片 public static void splitPic(String sPath, String tPath){ } //生成缩略图 public static void thumbnail()String sPath, String tPath){ try{ if(!imageFile.canRead()) return; BufferedImage bufferedImage = ImageIO.read(imageFile); if (null == bufferedImage) return; int originalWidth = bufferedImage.getWidth(); int originalHeight = bufferedImage.getHeight(); //获取缩略图的路径 String sPath = imageFile.getAbsolutePath(); String tPath = (sPath.substring(0,sPath.lastIndexOf(".")))+postfix+(sPath.substring(sPath.lastIndexOf("."))); /* //根据原始宽度获取缩放后的宽度 int newWidth = getImgNewWidth(originalWidth); System.out.println("新的宽度:"+newWidth); double scale = (double)originalWidth / (double)newWidth; // 缩放的比例 int newHeight = (int)(originalHeight / scale); */ //计算新的高度和宽度 double scale = getImgScale(originalWidth); if(scale==1){//为1,说明按照原图生成缩略图,也就是复制一张图 System.out.println("复制图片,路径为:"+sPath); FileUtils.copyFile(new File(sPath),new File(tPath)); }else{//按照要求生成一张 int newWidth = (int)(originalWidth*scale); int newHeight = (int)(originalHeight*scale); //System.out.println("原始路径:"+sPath+"\n缩略图路径:"+(name+postfix+extName)); zoomImageUtils(imageFile,tPath, bufferedImage,newWidth,newHeight); } }catch(Exception e){ e.printStackTrace(); } } public static Vector<String> fileList(String path) { Vector<String> vector = new Vector<String>(); File[] fl = new File(path).listFiles(); for (int i = 0; i < fl.length; i++) { if (fl[i].isFile()) { // System.out.println(fl[i].getName()); vector.add(fl[i].getName()); } else if (fl[i].isDirectory()) { // System.out.println(fl[i].getName() + "\\"); vector.add(fl[i].getName() + "\\"); } } return vector; } }老师您好 我发现我昨天交错了 交的是之前我写的
任务08 图片文件管理器
10
分
任务尚未发布或者你没有权限查看任务内容。
任务讨论