「java上传文件大小」java获取上传文件大小

博主:adminadmin 2022-12-21 15:30:09 80

今天给各位分享java上传文件大小的知识,其中也会对java获取上传文件大小进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在java上传文件时 怎么知道文件大小

public static void getFileSize(String path){

        //传入文件路径

        File file = new File(path);

        //测试此文件是否存在

        if(file.exists()){

            //如果是文件夹

            //这里只检测了文件夹中第一层 如果有需要 可以继续递归检测

            if(file.isDirectory()){

                int size = 0;

                for(File zf : file.listFiles()){

                    if(zf.isDirectory()) continue;

                    size += zf.length();

                }

                System.out.println("文件夹 "+file.getName()+" Size: "+(size/1024f)+"kb");

            }else{

                System.out.println(file.getName()+" Size: "+(file.length()/1024f)+"kb");

            }

        //如果文件不存在

        }else{

            System.out.println("此文件不存在");

        }

    }

java web 如何获得文件上传大小

有一种叫jspsmartupload的包用来简化文件上传下载的编写

里面可以获取文件大小

//取得文件

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

//取得文件名

String fileName = myFile.getFileName();

//取得文件大小

int fileSize = myFile.getSize();

这是基于spring架构的上传文件支持多个文件上传,拿到file对象后,直接file.size()就可以获取文件的大小,

if (request instanceof MultipartHttpServletRequest) {

MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;

for (Iterator it = multipartHttpServletRequest.getFileNames(); it.hasNext();) {

String key = (String) it.next();

MultipartFile file = multipartHttpServletRequest.getFile(key);

String originalFilename = file.getOriginalFilename();

long size = file.getSize();//文件大小需要转换成KB或M

if (StringUtils.isNotBlank(originalFilename)) {

String suffixName = originalFilename.indexOf(".") == -1 ? "" : originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase();

try {

InputStream inputStream = file.getInputStream();

byte[] copyToByteArray = FileCopyUtils.copyToByteArray(inputStream);

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

java怎么上传大文件

前端采用dropzone可拖拽多文件上传,后端采用MultipartFile接收。

getBytes方法会一次加载所有数据,会导致内存溢出。解决办法就是开辟一小块内存如1024byte,以流的形式循环读取上传的数据,再输出文件。

弹出文件选择框。这里选择一个4个多G的安装文件。

最后看到文件上传完毕,可以看到文件是4.3个G。

再看一下网站后台磁盘,upload文件夹中已经有该安装文件。

java 上传文件 限制大小

这个一般我们在后台配置,比如你如果使用的是struts2框架,就可以在struts.xml中添加配置项:

constant name="struts.multipart.maxSize" value="52428800" /

java编程:文件上传,,普通上传没有控件,怎么限制他的大小啊,比如上传文件不得超过10M,求大神

在后台action中判断,把上传的文件流用字节读出来,判断这个文件的字节流大小。然后根据自己的设置的最多进行判断,1kb=1024b

java ftp上传5G以上大文件,怎么做

java上传可以使用common-fileupload上传组件的。common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import java.util.regex.*;

import org.apache.commons.fileupload.*;

public class upload extends HttpServlet {

private static final String CONTENT_TYPE = "text/html; charset=GB2312";

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(CONTENT_TYPE);

PrintWriter out=response.getWriter();

try {

DiskFileUpload fu = new DiskFileUpload();

// 设置允许用户上传文件大小,单位:字节,这里设为2m

fu.setSizeMax(2*1024*1024);

// 设置最多只允许在内存中存储的数据,单位:字节

fu.setSizeThreshold(4096);

// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

fu.setRepositoryPath("c:\\windows\\temp");

//开始读取上传信息

List fileItems = fu.parseRequest(request);

// 依次处理每个上传的文件

Iterator iter = fileItems.iterator();//正则匹配,过滤路径取文件名

String regExp=".+\\\\(.+)$";//过滤掉的文件类型

String[] errorType={".exe",".com",".cgi",".asp"};

Pattern p = Pattern.compile(regExp);

while (iter.hasNext()) {

FileItem item = (FileItem)iter.next();

//忽略其他不是文件域的所有表单信息

if (!item.isFormField()) {

String name = item.getName();

long size = item.getSize();

if((name==null||name.equals("")) size==0)

continue;

Matcher m = p.matcher(name);

boolean result = m.find();

if (result){

for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){

throw new IOException(name+": wrong type");

}

}

try{//保存上传的文件到指定的目录//在下文中上传文件至数据库时,将对这里改写

item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"

");

}

catch(Exception e){

out.println(e);

} }

else

{

throw new IOException("fail to upload");

}

}

}

}

catch (IOException e){

out.println(e);

}

catch (FileUploadException e){

out.println(e);

}

}

}

关于java上传文件大小和java获取上传文件大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。