最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何實現(xiàn)判斷并輸出文件大小

 更新時間:2023年04月12日 08:55:27   作者:jasmyn518  
這篇文章主要介紹了Java如何實現(xiàn)判斷并輸出文件大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java判斷并輸出文件大小

有些地方需要判斷用戶上傳的文件大小或者下載文件之類的地方,這個功能還是比較實用的。

Java代碼如下:

package 包名;

import java.io.File;

public class FileAction {

? ? public static void main(String[] args) {

? ? ? ? File file = new File("chaoyue.jpeg");
? ? ? ? long size = file.length() / 1024;
? ? ? ? System.out.println("文件大小:" + size + "kb");

? ? }
}

java計算文件大小三種方法及優(yōu)缺點比較

1、通過File 的length() 方法計算文件大??;

2、使用FileInputStream后通過FileChannel的size()方法計算文件大??;

3、通過FileInputStream的available()方法計算文件大小;

代碼示例:

package encryption;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
 
public class Test02 {
 
	public static void main(String[] args) throws IOException {
 
		// 獲取文件大小的三種方法
		
		//大文件
		String fileStr = "E:\\src\\cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso";
		//小文件
        String fileStr01 = "E:\\src\\Chrome-Goagent.7z";
		
		File file = new File(fileStr);
 
		long size01 = getFileSize01(file);
		long size02 = getFileSize02(file);
		int  size03 = getFileSize03(file);
		
		System.out.println("小文件計算文件大小");
		System.out.println("文件名稱:"+file.getName());
		System.out.println("length方法獲取文件大小:"+size01+" byte.");
		System.out.println("FileChannel方法獲取文件大小:"+size02+" byte.");
		System.out.println("available方法獲取文件大小:"+size03+" byte.");
		System.out.println("\nInteger類型數(shù)據(jù)的最大值:"+Integer.MAX_VALUE);
 
	}
 
 
	/*
	 * 獲取文件大小的方法01:
	 * 通過文件的length() 方法獲取文件大小,這個通??梢詰?yīng)用于本地文件的大小計算;
	 * */
	private static long getFileSize01(File file) {
 
		return file.length();
	}
 
	/*
	 * 獲取文件大小的方法02:
	 * 通過FileChannel類來獲取文件大小,這個方法通常結(jié)合輸入流相關(guān),
	 * 因此可以用于文件網(wǎng)絡(luò)傳輸時實時計算文件大小;
	 * */ 
	private static long getFileSize02(File file) throws IOException {
 
		FileInputStream fis = new FileInputStream(file);
		FileChannel fc = fis.getChannel();
		return fc.size();
	}
	
	 /*
	  * 獲取文件大小的方法03:
	  * FileInputStream的available()方法看可以用于小文件的文件大小計算,
	  * 因為available()的返回值類型為int型,可能會存在溢出的情況,
	  * 所以 available()方法計算文件大小不建議使用;
	  * */
		private static int getFileSize03(File file) throws IOException {
 
			FileInputStream fis = new FileInputStream(file);
			
			return fis.available();
		}
}

計算大文件時:cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso

大文件計算文件大小

文件名稱:cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso

  • length方法獲取文件大小:3419052032 byte.
  • FileChannel方法獲取文件大小:3419052032 byte.
  • available方法獲取文件大小:2147483647 byte. 
  • Integer類型數(shù)據(jù)的最大值:2147483647

計算小文件時:Chrome-Goagent.7z

小文件計算文件大小

文件名稱:Chrome-Goagent.7z

  • length方法獲取文件大小:105959048 byte.
  • FileChannel方法獲取文件大小:105959048 byte.
  • available方法獲取文件大小:105959048 byte. 
  • Integer類型數(shù)據(jù)的最大值:2147483647

優(yōu)缺點比較

1、length() 方法的返回值是long類型的,F(xiàn)ileChannl的size()方法是long類型的,F(xiàn)ileInputStream的available() 方法是int類型的;

2、在計算大文件的時候不能使用FileInputStream的available() 方法,這樣計算結(jié)果會超出int類型最大值會產(chǎn)生溢出導(dǎo)致計算結(jié)果不準確;

3、在計算大文件的時候建議使用方法一和方法三,使用方法三會產(chǎn)生int類型溢出錯誤;

4、同時,在計算本地文件大小的時候建議使用方法一,length() 的方式計算文件大小;在計算網(wǎng)絡(luò)傳輸文件的時候建議使用FileChannel的size() 方法,方法二包含在FileinputStream中使用具有較好的網(wǎng)絡(luò)性能;

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的Kafka攔截器詳解

    Java中的Kafka攔截器詳解

    這篇文章主要介紹了Java中的Kafka攔截器詳解,Producer?攔截器(interceptor)是在?Kafka?0.10?版本被引入的,主要用于實現(xiàn)?clients?端的定制化控制邏輯,需要的朋友可以參考下
    2023-11-11
  • SpringBoot基于數(shù)據(jù)庫的定時任務(wù)統(tǒng)一管理的實現(xiàn)

    SpringBoot基于數(shù)據(jù)庫的定時任務(wù)統(tǒng)一管理的實現(xiàn)

    這篇文章主要介紹了SpringBoot基于數(shù)據(jù)庫的定時任務(wù)統(tǒng)一管理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 基于XML配置Spring的自動裝配過程解析

    基于XML配置Spring的自動裝配過程解析

    這篇文章主要介紹了基于XML配置Spring的自動裝配過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • java實現(xiàn)電腦定時關(guān)機的方法

    java實現(xiàn)電腦定時關(guān)機的方法

    這篇文章主要介紹了java實現(xiàn)電腦定時關(guān)機的方法,首先通過java注冊windows服務(wù)程序,再以一個簡單的java程序?qū)崿F(xiàn)定時關(guān)機的功能,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • Java Swing組件文件選擇器JFileChooser簡單用法示例

    Java Swing組件文件選擇器JFileChooser簡單用法示例

    這篇文章主要介紹了Java Swing組件文件選擇器JFileChooser簡單用法,結(jié)合實例形式分析了Swing組件中的文件選擇器JFileChooser的簡單使用方法,需要的朋友可以參考下
    2017-11-11
  • Java實現(xiàn)暴力匹配算法

    Java實現(xiàn)暴力匹配算法

    暴力匹配算法是一種簡單的字符串匹配算法,本文主要介紹了Java實現(xiàn)暴力匹配算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java MD5加密工具類的方法(支持多參數(shù)輸入)

    Java MD5加密工具類的方法(支持多參數(shù)輸入)

    在實際開發(fā)過程中,MD5加密是一種常見的數(shù)據(jù)安全處理手段,常用于密碼存儲、數(shù)據(jù)完整性校驗等場景,這篇文章主要介紹了Java MD5加密工具類(支持多參數(shù)輸入),需要的朋友可以參考下
    2024-05-05
  • Java常用注解擴展對比舉例詳解

    Java常用注解擴展對比舉例詳解

    這篇文章主要介紹了Java常用注解擴展對比的相關(guān)資料,提供了豐富的代碼示例,并總結(jié)了最佳實踐建議,幫助開發(fā)者更好地理解和應(yīng)用這些注解,需要的朋友可以參考下
    2025-03-03
  • SpringBoot?Knife4j框架&Knife4j的顯示內(nèi)容的配置方式

    SpringBoot?Knife4j框架&Knife4j的顯示內(nèi)容的配置方式

    Knife4j框架是基于Swagger2開發(fā)的在線API文檔生成工具,主要功能包括自動生成API文檔、接口文檔展示、接口測試工具、接口權(quán)限控制和在線調(diào)試,該框架支持通過注解自動生成詳細的接口文檔,開發(fā)者可以直接在文檔界面進行接口測試和調(diào)試
    2024-09-09
  • Java?Stream流語法示例詳解

    Java?Stream流語法示例詳解

    這篇文章主要為大家詳細介紹了Java的Stream流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評論

中宁县| 吉林省| 潞城市| 巫山县| 尚志市| 鹤山市| 宁城县| 枝江市| 高青县| 琼中| 万安县| 滁州市| 水城县| 紫金县| 安阳市| 若尔盖县| 汕尾市| 根河市| 宜州市| 武夷山市| 慈溪市| 潮安县| 吉木乃县| 荔波县| 乐昌市| 威海市| 潮安县| 青铜峡市| 滨海县| 南汇区| 阿坝| 汪清县| 泰来县| 汝阳县| 桐梓县| 石城县| 沭阳县| 马尔康县| 江安县| 翼城县| 陆川县|