/**
*
*/
//根据自己的喜好写的一个文件上传方法,喜欢这段代码的同学可以直接拷贝修改根据自己的意思来上传文件,如有不对的地方欢迎指正(采用流的形式)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.channels.FileChannel;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
/**
* @author admins
* UploadFileTest.java
* 下午7:55:31
* 2018年3月25日
*/
public class UploadFileTest {
public static void testUploadFile() throws Exception{
long s=System.currentTimeMillis();
String fileName = "E://logs//IMG_2350.JPG";
int fileLength = fileName.lastIndexOf("//")+1;
fileName = fileName.substring(fileLength);
System.out.println(fileName);
String fileNameNew = System.currentTimeMillis()+fileName.replaceAll("/", "");
System.out.println("新文件名字"+fileNameNew);
String newsFile = System.currentTimeMillis()+fileName.replaceAll("/", "\\\\");
System.out.println(newsFile);
File file = new File("E:/TestFile");
if(!file.exists()){
System.out.println("判断是否存在文件");
file.mkdir();
}
DiskFileItemFactory factory = new DiskFileItemFactory();
//设置向硬盘写数据时所用的缓冲区的大小,此处为4K
factory.setSizeThreshold(4*1024);
//设置临时目录
factory.setRepository(file);
FileUpload fileup = new FileUpload(factory);
fileup.setFileSizeMax(1024);
fileup.setHeaderEncoding("UTF-8");
int len=0;
byte[] buffer=new byte[1024];
FileInputStream fis =new FileInputStream("E://logs//IMG_2350.JPG");
FileChannel fileCh =null;
fileCh = fis.getChannel();//文件大小
System.out.println("文件大小:"+fileCh.size()/1024);
String path =file.getPath()+"\\"+fileNameNew; //file + "\\" + fileName
FileOutputStream out = new FileOutputStream(path);
while((len=fis.read(buffer))!=-1){
out.write(buffer,0,len);//文件写入
}
String paths =file.getPath()+"\\"+fileName;
fis.close();
out.close();
System.out.println("文件路径为"+file.getPath()+"\\"+fileNameNew);
//fileItem.write(new File(file.getPath()+"\\"+"2017年上半年数据库系统工程师下午案例分析真题及答案解析.pdf"));
long e=System.currentTimeMillis();
System.out.println("文件上传毫秒数"+(e-s));//秒数
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
testUploadFile();
}
}
//打印的结果
/IMG_2350.JPG
新文件名字1521993618019IMG_2350.JPG
1521993618021\IMG_2350.JPG
文件大小:5034
文件路径为E:\TestFile\1521993618019IMG_2350.JPG
文件上传毫秒数35