一、經過file的length()方法獲取;java
二、經過流式方法獲取;windows
經過流式方法又有兩種,分別是舊的java.io.*中FileInputStream的available()方法和新的java..nio.*中的FileChannelspa
1 /** 2 * 獲取文件大小(字節byte) 3 * 方式一:file.length() 4 */ 5 public void getFileLength(File file){ 6 long fileLength = 0L; 7 if(file.exists() && file.isFile()){ 8 fileLength = file.length(); 9 } 10 System.out.println("文件"+file.getName()+"的大小爲:"+fileLength+"byte"); 11 }
1 /** 2 * 獲取文件大小 3 * 方式二:FileInputStream.available() 4 * 注意:int類型所能表示的最大值2^31-1,若是文件的大小超過了int所能表示的最大值結果會有偏差 5 * @throws IOException 6 */ 7 public void getFileLength2(File file) throws IOException{ 8 int length = 0; 9 FileInputStream fis = null; 10 if(file.exists() && file.isFile()){ 11 fis = new FileInputStream(file); 12 length = fis.available(); 13 } 14 System.out.println("文件"+file.getName()+"的大小爲:"+length+"byte"); 15 }
1 /** 2 * 獲取文件大小 3 * 方式一:FileInputStream.getChannel() 4 * @throws IOException 5 */ 6 public void getFileLength3(File file) throws IOException{ 7 FileInputStream fis = null; 8 FileChannel fileChannel = null; 9 if(file.exists() && file.isFile()){ 10 fis = new FileInputStream(file); 11 fileChannel = fis.getChannel(); 12 } 13 System.out.println("文件"+file.getName()+"的大小爲:"+fileChannel.size()+"byte"); 14 }