精华内容
下载资源
问答
  • import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Calendar;public classSendServer {private int num = 0;public voidprocess() {Calendar calendar=Calenda...

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.util.Calendar;public classSendServer {private int num = 0;public voidprocess() {

    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 voidcopyFolder(String oldPath, String newPath) {try{

    File mFile= newFile(newPath);if(!mFile .exists()){

    (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹

    }

    File a= newFile(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= newFile(fileName);if (!testFile.exists()) {

    FileInputStream input= newFileInputStream(temp);

    FileOutputStream output= newFileOutputStream(fileName);byte[] b = new byte[1024 * 5];intlen;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();

    }

    }privateString getTimeString(String time){if(time.length()<2){return "0" +time;

    }else{returntime;

    }

    }

    }

    展开全文
  • import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.Inpu...

    import java.io.BufferedInputStream;

    import java.io.BufferedOutputStream;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    public class CreateAbsolutePathFile {

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

    if (args.length < 1)

    return;

    String firstPath = args[0];

    String beCopiedFilePath = args[1];

    File file = new File(firstPath);

    //如果复制到的文件夹没有则创建

    if (!file.exists()) {

    file.mkdirs();

    } else if (beCopiedFilePath != null && beCopiedFilePath.length() > 0) {

    copyFile(beCopiedFilePath, firstPath);

    }

    }

    public static void copyFile(String oldPathFile, String newPathFile) {

    int byteread = 0;

    int byteCount = 0;

    File oldfile = new File(oldPathFile);

    //用spilit方法实际是在用正则表达式进行匹配,java中//由于转义符代表为/,所以实际为//,又在正则表达式中//代表/所以表示/

    //而在不需要正则表达式的方法如String的replace则可以用//表示/这点需要注意

    String[] fileName = oldPathFile.split("");

    String name = fileName[fileName.length - 1];

    boolean isSuccessful = true;

    if (oldfile.exists()) { // 文件存在时

    try {

    InputStream inStream = new FileInputStream(oldPathFile); // 读入原文件

    BufferedInputStream bufferedInputStream = new BufferedInputStream(inStream);

    //复制到的文件必须是具体的文件不能是文件夹,如果为文件夹则出现拒绝访问的异常,所以加上name

    FileOutputStream fs = new FileOutputStream(newPathFile + "//" + name);

    BufferedOutputStream bufferedOutPutStream = new BufferedOutputStream(fs);

    byte[] buffer = new byte[1024 * 5];

    while ((byteread = bufferedInputStream.read(buffer)) != -1) {

    byteCount += byteread;

    bufferedOutPutStream.write(buffer, 0, byteread);

    }

    inStream.close();

    bufferedInputStream.close();

    fs.close();

    bufferedOutPutStream.close();

    } catch (IOException e) {

    System.out.println("读取文件出错!原因" + e.getMessage());

    isSuccessful = false;

    }

    } else {

    System.out.println("地址" + oldPathFile + "不存在文件");

    isSuccessful = false;

    }

    if (isSuccessful)

    System.out.println("复制成功!共复制" + byteCount + "字节");

    }

    }

    展开全文
  • **近期学习过程中,需要对图片分类结果进行可视化展示,代码结果有图片的名称对应的类别,现需要属于同一个类别的图片复制或移动相同的文件夹中。 检索发现没有好用的代码,于是自己改改删删有了以下版本,新手...

    **近期学习过程中,需要对图片分类结果进行可视化展示,代码结果有图片的名称对应的类别,现需要将属于同一个类别的图片复制或移动到相同的文件夹中。
    检索发现没有好用的代码,于是自己改改删删有了以下版本,新手上路,请多指教,感谢!

    **

    **案列介绍:
    下图有六张图片,需要按照1.txt中的分类结果将图片进行分类,通过以下代码,可以实现将图片复制或移动到对应类别文件夹下的功能,如图3所示。

    两个代码的区别在于:
    1.复制代码完成后,原文件夹图片复制后依然存在;
    2.移动代码完成后,原文件夹图片移动后不存在。**
    图1
    图2
    图3

    1.复制目标图片至指定文件夹

    package movepicture;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    /*
     * 这个是图片,对应movepic
     */
    public class copy_move {
    	//方法importCsv的作用是读取txt,在这里用于读取需要移动的图片ID
    	  public static List<String> importCsv(File file){
    	        List<String> dataList=new ArrayList<String>();
    	        
    	        BufferedReader br=null;
    	        try { 
    	            br = new BufferedReader(new FileReader(file));
    	            String line = ""; 
    	            while ((line = br.readLine()) != null) { 
    	                dataList.add(line);
    	            }
    	        }catch (Exception e) {
    	        }finally{
    	            if(br!=null){
    	                try {
    	                    br.close();
    	                    br=null;
    	                } catch (IOException e) {
    	                    e.printStackTrace();
    	                }
    	            }
    	        }
    	        return dataList;
    	    }
    	  
    	  private static void copyFile(File srcFile,File destFile) throws IOException {
    			//该方法为复制文件,srcFile是原文件所在地址,destFile是目标文件所在地址
    		   
    		   File[] fileArray1 = srcFile.listFiles();
    		   File[] fileArray2 = destFile.listFiles();
    		   
    		   BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
    		   BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
    		   byte[] bys = new byte[1024];
    		   int len = 0;
    		   while ((len = bis.read(bys)) != -1) 
    		      {
    		      bos.write(bys, 0, len);
    		      }
    		   bos.close();
    		   bis.close();
    		  }	
    	  
    public static void main(String[] args) throws IOException {
    /*
     * sourceFile 是所有的图片初始存放的集合
     * dataList 是图片分类的txt 格式:class p1 p2 (class为类别,p1 p2为图片名称,中间用空格分开),后附图
      * 用importCsv方法读取datalist中每一个图片id用于分类
     * targetFile 是图片类别的文件夹,设置该对象的目的是用于判断类别所在文件夹是否为空,为空的话用mkdir创建一个
     * as[0]为类别的文件夹名称,如上例中的1、2 ,as[m]为图片的名称
     * */
    	File sourceFile = new File("******\\testcopy\\all");
        List<String> dataList=importCsv(new File("******\\testcopy\\1.txt"));
            if(dataList!=null && !dataList.isEmpty()){
                for(int i=0; i<dataList.size();i++ ){
                        String s=dataList.get(i);
                        String as[] = s.split("\\s+");
                    for(int m=1;m<as.length;m++) {
                    	File targetFile = new File("******\\testcopy\\tesy\\"+as[0]+"\\");
                    	File srcFile = new File(sourceFile+"\\"+as[m]+".jpg");
                    	File destFile = new File(targetFile+"\\"+as[m]+".jpg");
                    	
    //                	下面两行用于输出需要复制的图片地址用于检查
    //                    System.out.println(sourceFile+"\\"+as[m]+".jpg");//为srcFile
    //                    System.out.println(targetFile+"\\"+as[m]+".jpg");// 为destFile
                        if (!targetFile.exists()) {
            	            targetFile.mkdir();
            	        }
    //                    调用copyFile方法,依次复制目标图片到指定位置
                        copyFile(srcFile,destFile);
                    }
                }       
            }
    	}
    }
    

    2.移动目标图片至指定文件夹

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class movepic {
    	
    	//importCsv读取txt中图片的ID
    	  public static List<String> importCsv(File file){
    	        List<String> dataList=new ArrayList<String>();	     
    	        BufferedReader br=null;
    	        try { 
    	            br = new BufferedReader(new FileReader(file));
    	            String line = ""; 
    	            while ((line = br.readLine()) != null) { 
    	                dataList.add(line);
    	            }
    	        }catch (Exception e) {
    	        }finally{
    	            if(br!=null){
    	                try {
    	                    br.close();
    	                    br=null;
    	                } catch (IOException e) {
    	                    e.printStackTrace();
    	                }	                
    	            }
    	        }
    	        return dataList;
    	    }
    	  
    
    	    private static  void moveFile2(File sourceFile,File targetFile) {
    	    	//该方法为复制文件,sourceFile源文件夹路径(存放图片路径), targetFile是目标文件夹路径(没有会自动创建)
    	        File[] fileArray1 = sourceFile.listFiles();
    	        File[] fileArray2 = targetFile.listFiles();
    	        for (File file : fileArray1) {          
    //	        	SUFFIX用于判断指定图片是否存在,如果存在就不移动并且输出“文件已存在”
    	            	if (file.getName().contentEquals(SUFFIX)) {
    	            		targetFile = new File( targetFile + "\\"+file.getName());
    	                    if (targetFile.exists()) {
    	                        System.out.println("文件已存在");
    	                    } else {            	
    	                        file.renameTo(targetFile);
    	                        System.out.println("移动文件成功");
    	                    }
    	                }       
    	            }
    	        }
    	   
    	    
    		public static String SUFFIX = null; 
    
    	    public static void main(String[] args) {
    
    	    	// 源文件夹路径(存放图片路径)
    	    	File sourceFile = new File("******\\testcopy\\all");
    	      //目标文件夹路径(没有会自动创建)
              //图片id的地址
    	         List<String> dataList=importCsv(new File("******\\testcopy\\1.txt"));
    		        if(dataList!=null && !dataList.isEmpty()){
    		            for(int i=0; i<dataList.size();i++ ){
    		                    String s=dataList.get(i);
    		                    String as[] = s.split("\\s+");
    		                for(int m=1;m<as.length;m++) {
    		                	File targetFile = new File("******\\testcopy\\tesy\\"+as[0]+"\\");
    		                    SUFFIX = as[m] + ".jpg";
    		                    if (!targetFile.exists()) {
    		        	            targetFile.mkdir();
    		        	        }
    //		                    调用moveFile2方法,依次移动目标图片到指定位置
    		        	        moveFile2(sourceFile,targetFile);
    		                }
    		            }       
    	             }
    	    	}
    	    }
    	
    
    展开全文
  • 使用FileChannel复制文件private static void copyFileUsingFileChannels(String sourcePath, String destPath) throws IOException {FileChannel inputChannel = null;FileChannel outputChannel = null;Fil...

    新建Copy类,编写代码。

    使用FileChannel复制文件

    private static void copyFileUsingFileChannels(String sourcePath, String destPath) throws IOException {

    FileChannel inputChannel = null;

    FileChannel outputChannel = null;

    FileInputStream fis = null;

    FileOutputStream fos = null;

    File source = null;

    File dest = null;

    try {

    source = new File(sourcePath);

    dest = new File(destPath);

    fis = new FileInputStream(source);

    fos = new FileOutputStream(dest);

    inputChannel = fis.getChannel();

    outputChannel = fos.getChannel();

    outputChannel.transferFrom(inputChannel, 0, inputChannel.size());

    } catch (IOException e) {

    e.printStackTrace();

    } finally {

    inputChannel.close();

    outputChannel.close();

    fis.close();

    fos.close();

    }

    }

    展开全文
  • /*** InputStream写入本地文件* 输入流** @throws IOException*/private void writeToLocal(String fileName, InputStream input)throws IOException {String destDirName = "E:/temp1";createDir(destDirName);...
  • FileInputStream和FileOutputStream类:代码:package Chapter16;import java.io.File;import java.io.FileInputStream;...public class Demo {//一个文件夹复制到另一个文件夹public static void main(St...
  • public class FileAndDirCopy {//注意:任何文件(包括图片,音乐,影视,压缩文件等等)复制都要用字节流,字符流只能复制txt文档;public static void main(String[] args) throws Exception {//复制开始时获得系统...
  • Java复制 源文件/文件夹 至目标文件夹 对于源文件,直接使用Java NIO中提供的FileChannel进行复制,要注意的是在目标文件夹中需要先创建不存在的文件夹才能复制文件。 private static void copyFile(File from...
  • 参考文章:Java 复制远程共享文件夹到 1.共享文件 1.1 设置共享文件 1.2 选择文件夹,右键展开菜单面板,找到属性。 选择共享属性,点开可以添加 共享文件夹可以访问的用户。 远程访问需要启动 SMB/ 1.0/...
  • importjava.io.BufferedOutputStream;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.FileReader;importjava.io.IOException...
  • 自己电脑上文件夹里图片太多,且存在重复名称,在网上找了一下没找到合适的,就整合了一下代码,有问题欢迎提出 完整代码 import org.springframework.util.CollectionUtils; import java.io.*; import java.util....
  • importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;...public classCopy{/*** 遍历文件夹下的所有图片文件,并复制到指定文件夹...
  • packagecn.java.test;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;import...
  • 在学习Servlet过程中,针对图片上传做了一个Demo,实现的功能是:在a页面上传图片,点击提交后,将图片保存服务器指定路径(D:/image);跳转b页面,b页面读取展示绝对路径(D:/image)的图片。主要步骤如下:步骤一...
  • 在G盘中有一个新建文件夹,其中有一个a文件夹和一张图片,在a文件夹中有b文件夹和一个吧"b.txt"文件,在b文件夹中有一个"c.txt"文件,两个文件均有内容。 2.代码 package com.igeek; import java.io.*; /** * @...
  • Java实现文件夹复制

    2020-12-22 16:01:18
    复制一个目录中的所有内容指定目录 目录中有目录的情况,需要再进入子目录复制子目录的内容,递归调用即可 给定两个路径File对象,一个为要复制文件夹,一个为目标路径 定义复制文件的方法,在复制目录的方法中...
  • 在学习Servlet过程中,针对图片上传做了一个Demo,实现的功能是:在a页面上传图片,点击提交后,将图片保存服务器指定路径(D:/image);跳转b页面,b页面读取展示绝对路径(D:/image)的图片。主要步骤如下:步骤一...
  • 如何将文件夹/home/work下的文件复制到/home/temp里面?使用命令:cp -R /home/work/* /home/temp*表示所有文件但是/home/work 下的隐藏文件都不会被拷贝更好的复制的方法是用“.”代替“*”就好了。cp -R /home/...
  • 我有2个文件夹名称是Folder1和Folder2.Folder1具有以下文件TherMap.txtTherMap1.txtTherMap2.txt每次Folder2只有一个名为TherMap.txt的文件.我想要的是,从folder1复制任何文件并粘贴在Folder2中,名称为TherMap.txt....
  • 一、基本目标使用Java完成如下的操作:把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹:f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加...
  • JAVA文件夹复制由于不知道文件夹里面有多少文件夹,所以使用递归方法遍历里面的所有文件夹和文件,如果是文件,则直接复制到目标文件夹,如果是文件夹,则的目标地方创建对应的同名文件夹,由于文件有各种各样的类型,...
  • //文件原地址File oldFile = new File("c:/test.xls");//文件新(目标)地址String newPath = "c:/test/";//new一个新文件夹File fnewpath = new File(newPath);//判断文件夹是否存在...//文件移新文件File fne...
  • 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。此控件PC全平台支持包括mac,linux系统的文件上传,文章末尾附上控件下载与教程链接首先我们...
  • C数据一致性:所有应用程序都能访问相同的数据。 A数据可用性:任何时候,任何应用程序都可以读写访问。 P分区耐受性:系统可以跨网络分区线性伸缩。(通俗来说就是数据的规模可扩展) 在大型网站中通常都是牺牲C...
  • //把某一文件夹里的所有内容(包括子文件夹中的内容)批量复制到另一个文件夹里。比如,a目录下有5个文件2个目录,这两个子目录还有3个文件,把所有这8个文件全部复制到b目录 File file = new File("文件路径...
  • import os ori = "/home1/zy/dataset/cheshi" ... #如果有目标文件夹就不管,没有就自己创建 if not os.path.exists(target): os.makedirs(target) for root, dirs, files in os.walk(rootdir,topdown
  • 最近在学习把图片存入数据库,存进去了,但图片下半部分为一段乱了,以下是我的代码:Filef=newFile(filePath);conn.setAutoCommit(false);PreparedStatementp=conn.prepareStatement...最近在学习把图片存入数据库...
  • 隔江千里建议使用Path类操作文件,涉及文件监听事件、文件权限等高级特性下面是随便在博客上找的,东西比较...importjava.io.*;importjava.net.URI;importjava.nio.charset.StandardCharsets;importjava.nio.file.Fi...
  • 使用scp一个Linux系统中的文件或文件夹复制到另一台Linux服务器上复制文件或文件夹(目录)命令:一、复制文件:(1)本地文件拷贝远程scp 文件名 用户名@计算机IP或者计算机名称:远程路径本地192.168.1.8客户端...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,627
精华内容 15,850
关键字:

java将图片复制到文件夹里

java 订阅