文件位元組數java
❶ 用java代碼如何查看本地一個文件的大小
publicstaticvoidgetFileSize(Stringpath){
//傳入文件路徑
Filefile=newFile(path);
//測試此文件是否存在
if(file.exists()){
//如果是文件夾
//這里只檢測了文件夾中第一層如果有需要可以繼續遞歸檢測
if(file.isDirectory()){
intsize=0;
for(Filezf: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 file 獲取文件大小 ,是什麼單位
1、java file 獲取文件大小 ,單位旅核升是kb,File.length()獲得文件位元組大小/1024 獲得 KB數, 由於整數運算省略小數部分,故加1。
2、目前Java獲取文件大小的方法有兩種:
1)拆老通過file的length()方法獲取。
2)通過流式方法獲取氏畝。
❸ Java的Class位元組碼文件是二進制的嗎
Java的Class文件是有8個位元組為基礎的位元組流構成的,這些位元組流之間都嚴格按照規定的順序排列,並且位元組之間不存在任何空隙,對於超過8個位元組的數據,將按
照Big-Endian的順序存儲的,也就是說高位位元組存儲在低的地址上面,而低位位元組存儲到高地址上面,其實這也是class文件要跨平台的關鍵,因為
PowerPC架構的處理採用Big-Endian的存儲順序,而x86系列的處理器則採用Little-Endian的存儲順序,因此為了Class文
件在各中處理器架構下保持統一的存儲順序,虛擬機規范必須對起進行統一。
這些能被機器直接識別的就是二進制。
❹ java 讀取文件 並計算文件的位元組數,單詞數和行數 求高人指點,謝謝
話不多說先上代碼
Scanner sc = new Scanner(f);
int i = 0, j=0, k=0;
while(sc.hasNext()) {
sc.next();
i++;
}
sc = new Scanner(f);
while(sc.hasNextLine()) {
sc.nextLine();
j++;
}
sc = new Scanner(f);
while(sc.hasNextByte()) {
sc.nextByte();
k++;
}
System.out.println(i+" "+j+" "+k);
然後區分一下位元組和字元的概念,一個位元組是一個8位的2進制數,一個字元是'a'、'1'這種
樓主是不是說的統計字元呢
scanner類中並沒有統計字元的方法 用filereader貌似方便一點
這是只是提供一個思路,多查api文檔,多用google,這類問題都不叫問題。
搜到這段代碼後,我表示很慚愧
public class Test {
public static void main(String[] args) throws Exception{
Scanner input=new Scanner(System.in);
System.out.println("請輸入路徑");
String path=input.next();
int charNum= 0 ;
int wordsNum= 0;
int lineNum = 0;
InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
BufferedReader br = new BufferedReader(isr);
while( br.read()!= -1){
String s = br.readLine();
charNum+=s.length();
wordsNum +=s.split(" ").length;
lineNum ++;
}
isr.close();//關閉
System.out.println("字元數:"+charNum+"\t單詞數:"+wordsNum+"行 數:"+lineNum);
}
}