java 文件上传 大小_java 上传文件大小转换为 GB/MB/KB/B
1.工具类
package cn.cmodes.common.utils;
import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;
public class FileSizeUtil {
private static final String TAG=FileSizeUtil.class.getSimpleName();
public static final int SIZETYPE_B = ;//获取文件大小单位为B的double值
public static final int SIZETYPE_KB = ;//获取文件大小单位为KB的double值
public static final int SIZETYPE_MB = ;//获取文件大小单位为MB的double值
public static final int SIZETYPE_GB = ;//获取文件大小单位为GB的double值
/**
* 获取文件指定文件的指定单位的大小
*
* @param filePath 文件路径
* @param sizeType 获取大小的类型1为B、2为KB、3为MB、4为GB
* @return double值的大小
*/
public static double getFileOrFilesSize(String filePath, int sizeType) {
File file = new File(filePath);
long blockSize = ;
try {
if (file.isDirectory()) {
blockSize = getFileSizes(file);
} else {
blockSize = getFileSize(file);
}
} catch (Exception e) {
e.printStackTrace();
}
return FormetFileSize(blockSize, sizeType);
}
/**
* 调用此方法自动计算指定文件或指定文件夹的大小
*
* @param filePath 文件路径
* @return 计算好的带B、KB、MB、GB的字符串
*/
public static String getAutoFileOrFilesSize(String filePath) {
File file = new File(filePath);
long blockSize = ;
try {
if (file.isDirectory()) {
blockSize = getFileSizes(file);
} else {
blockSize = getFileSize(file);
}
} catch (Exception e) {
e.printStackTrace();
}
return formatFileSize(blockSize);
}
/**
* 获取指定文件大小
*/
private static long getFileSize(File file) throws Exception {
long size = ;
if (file.exists()) {
FileInputStream fis = null;
fis = new FileInputStream(file);
size = fis.available();
} else {
file.createNewFile();
}
return size;
}
/**
* 获取指定文件夹
*/
private static long getFileSizes(File f) throws Exception {
long size = ;
File flist[] = f.listFiles();
assert flist != null;
for (File file : flist) {
if (file.isDirectory()) {
size = size + getFileSizes(file);
} else {
size = size + getFileSize(file);
}
}
return size;
}
/**
* 转换文件大小
*/
public static String formatFileSize(long fileS) {
DecimalFormat df = new DecimalFormat("#.00");
String fileSizeString = "";
String wrongSize = "0B";
if (fileS == ) {
return wrongSize;
}
if (fileS < ) {
fileSizeString = df.format((double) fileS) + "B";
} else if (fileS < ) {
fileSizeString = df.format((double) fileS / ) + "KB";
} else if (fileS < ) {
fileSizeString = df.format((double) fileS / ) + "MB";
} else {
fileSizeString = df.format((double) fileS / ) + "GB";
}
return fileSizeString;
}/**
* 转换文件大小,指定转换的类型
*/
private static double FormetFileSize(long fileS, int sizeType) {
DecimalFormat df = new DecimalFormat("#.00");
double fileSizeLong = ;
switch (sizeType) {
case SIZETYPE_B:
fileSizeLong = Double.valueOf(df.format((double) fileS));
break;
case SIZETYPE_KB:
fileSizeLong = Double.valueOf(df.format((double) fileS / ));
break;
case SIZETYPE_MB:
fileSizeLong = Double.valueOf(df.format((double) fileS / ));
break;
case SIZETYPE_GB:
fileSizeLong = Double.valueOf(df.format((double) fileS / ));
break;
default:
break;
}
return fileSizeLong;
}
}
2.使用
/**
* 新增多媒体-图片
*
* @param mediaphoto 多媒体-图片信息
* @return 结果
*/
@Override
@Transactional
public int insertMediaphoto(Mediaphoto mediaphoto) {
if (StringUtils.isBlank(mediaphoto.getId())) {
mediaphoto.setId(IdGen.uuid());
}
mediaphoto.setCreateTime(new Date());
mediaphoto.setFileSize(fileService.formatFileSize(mediaphoto.getFileName()));int i = mediaphotoMapper.insertMediaphoto(mediaphoto);
searchService.UpdateResourceEs(mediaphoto.getDocumentId());
return i;
}
3.效果图
java上传文件大小转换(字节转kb/mb/gb)
/** * 字节转kb/mb/gb * @param size * @return */ public String getPrintSize(long size) { //如果字节数少于1024,则 ...
java上传大文件解决方案
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在10G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以10G来进行限制. 第一步: 前端修改 由于项目使用的是BJ ...
java上传视频文件
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
解决ASP.NET上传文件大小限制
第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRuntime节点对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大小.一.修改 ...
兼容各浏览器的js判断上传文件大小
由于项目需要,在网上找了一个JS判断上传文件大小的程序,经测试兼容IE6-,Firefox10,Opera11.,safari5.,chrome17 < ...
Web.Config文件配置之限制上传文件大小和时间
在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...
asp.net--解决上传文件大小限制
java 文件上传 大小_java 上传文件大小转换为 GB/MB/KB/B相关推荐
- java获取上传文件的大小_java 上传文件大小转换为 GB/MB/KB/B
1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...
- java b kb mb gb 转换_java 上传文件大小转换为 GB/MB/KB/B
1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...
- java 上传文件大小转换为 GB/MB/KB/B
0. 知识补充概况 如4.56就是4.6,最后一位小数大于等于6就向前进一位. 4.54就是4.5,最后一位小数小于等于4,就舍去 4.45就是4.4 4.55就是4.6最后一位小数是5的时候, ...
- java上传加密_Java上传下载文件并实现加密解密
使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...
- java中比较两个文件的大小_Java实现获取文件大小的几种方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 目前Java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.i ...
- java文件传输连接方式_Java 学习笔记 网络编程 使用Socket传输文件 CS模式
Socket的简单认识 Socket是一种面向连接的通信协议,Socket应用程序是一种C/S(Client端/Server端)结构的应用程序 Socket是两台机器间通信的端点. Socket是连接 ...
- java 文件压缩 解压_Java文件压缩与解压缩(一)
package com.cn; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...
- java 文件路径怎么写_java本地文件路径怎么写
1. java里文件路径怎么写 File file = new File("D:\\123.txt"); 你这种不用绝对路径是不行的, 只有一个方法,在web工程启动servlet ...
- java文件中查找字符串_Java 在本地文件中查找固定字符串
适用范围:只适用于在文本文档中查找(如,txt.java.c等等,并不适用与doc.xls等等这些文件),可嵌套文件夹.但是对中文不支持. 例如:文件夹:F:/demo 子文件夹:F:/demo/er ...
最新文章
- mysql返回惟一不同值_SQL/MySQL-选择不同/唯一但返回所有列?
- Cannot identify version of git executable: no response
- 中国大陆开源镜像站汇总
- qt opencv cmake配置 单纯小白
- 安装brew提示/usr/local/bin is not in your PATH.
- Drools 5.1.1(一)
- 微带线特性阻抗计算公式_利用HFSS计算微带线的特性阻抗
- 王者荣耀交流协会第四次Scrum立会
- 【啃不完的算法导论】- 动态规划 - 最长公共子序列(概念篇)
- 系统架构师-基础到企业应用架构-系统建模[中篇](下)
- 前端-微信浏览器无法下载附件解决方法?
- ArcGis软件出图时修改色带上的刻度并导出色带
- python定义矩形类_Python3面向对象—点和矩形类
- 【FreeRTOS】
- linux终端界面美化,Ubuntu 18.04系统美化记录:Grub2\主题\登录界面\终端美化
- Computer Vision笔记01:图像处理
- 变量被重复定义的问题的讨论
- 易订货专属App文档
- echarts 柱状图圆柱_echarts柱状图
- 第四届CECC中国计算机教育大会召开,飞桨持续加码产教融合教育新生态
热门文章
- 我的HTML学习之路03
- 对话阿里巴巴副总裁贾扬清:追求大模型,并不是一件坏事
- 程序员大部分时间都在“熟悉系统”
- 25 个 Vue 技巧,开发了 5 年了,才知道还能这么用
- 谁说“IT 不理解 OT”?开放自动化来破局!
- JuiceFS 你应该知道的一些事
- 面向自动驾驶行业,Imagination推出性能高达600 TOPS的多核AI加速器
- Linux Kernel 5.8 发布,华为内核代码贡献全球持续领先
- 程序员常用的泛型机制究竟怎么玩?
- 探索处理数据新方法,8 个重点搞懂云数据库 DBaaS 到底是什么!