java語言將本地磁盤中的文件上傳到項目路徑下


package com.icss.saft.service;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;

@RestController
public class Controller2 {


    @RequestMapping(value = "from",method = RequestMethod.GET)
    public void upload() throws Exception {
         String url1 = "F:\\xml";

         String url2 = "E:\\Xmldemo\\src\\main\\webapp\\WEB-INF\\jsp\\20180419205900.xml";
         File file1 = new File(url2);
         if(!file1.exists()){
             file1.createNewFile();
         }else {
             StringBuffer buffer = new StringBuffer(url2);
             SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
             Date date = new Date();
             String dates = format.format(date);
             buffer.insert(16,dates);
             url2 = buffer.toString();
             file1 = new File(url2);
             file1.createNewFile();
         }

        File[] file = (new File(url1)).listFiles();
        for (int i = 0; i < file.length; i++) {
            if (file[i].isFile()) {
    
                //copyFile(file[i],new File(url2+file[i].getName()));
                copyFile(file[i],new File(url2));
            }
            if (file[i].isDirectory()) {
                String sourceDir=url1+File.separator+file[i].getName();
                String targetDir=url2+File.separator+file[i].getName();
                copyDirectiory(sourceDir, targetDir);
            }
        }
    }
    public static void copyFile(File sourceFile,File targetFile)
            throws IOException {
 
        FileInputStream input = new FileInputStream(sourceFile);
        BufferedInputStream inBuff=new BufferedInputStream(input);
        FileOutputStream output = new FileOutputStream(targetFile);
        BufferedOutputStream outBuff=new BufferedOutputStream(output);
        byte[] b = new byte[1024 * 5];
        int len;
        while ((len =inBuff.read(b)) != -1) {
            outBuff.write(b, 0, len);
        }
        outBuff.flush();
        inBuff.close();
        outBuff.close();
        output.close();
        input.close();
    }

    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,targetFile);
            }
            if (file[i].isDirectory()) {
   
                String dir1=sourceDir + "/" + file[i].getName();
   
                String dir2=targetDir + "/"+ file[i].getName();
                copyDirectiory(dir1, dir2);
            }
        }
    }
}

在上傳到項目下時,要根據時間來命名上傳的文件,下邊這段代碼為自動生成一個以時間命名的文件名字:

   if(!file1.exists()){
             file1.createNewFile();
         }else {
             StringBuffer buffer = new StringBuffer(url2);
             SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
             Date date = new Date();
             String dates = format.format(date);
             buffer.insert(16,dates);
             url2 = buffer.toString();
             file1 = new File(url2);
             file1.createNewFile();
         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM