1. 程式人生 > >java中如何判斷一個檔案是二進位制檔案還是文字檔案?

java中如何判斷一個檔案是二進位制檔案還是文字檔案?

現在的做法是把檔案讀進來,逐個解析每一個byte,如果有一個byte<0那麼斷定這個檔案是二進位制的,這在純英文的環境下可以工作,但是如果一個文字包含了中文字元,那麼這個檔案也會被判斷為二進位制檔案。
我在網上看看到有人也是逐個比較每一個byte,只不過是如果有一個byte=0就判斷為二進位制檔案,這樣做有依據嗎?
大家有沒有什麼解決辦法?

相關推薦

java判斷一個字串是否為整型數字

/** * 判斷字串是否為數字 */ public static boolean isNumeric(String str){ Pattern patte

java判斷一個字串是否包含某個字元或字串

一、contains方法 java.lang.String.contains() 方法返回true,當且僅當此字串包含指定的char值序列 此方法返回true,如果此字串包含,否則返回false。 public static void main(String[] args

java判斷一個字串是否包含另外一個字串,如果包含,計算出字串的開始位置

對於一個給定的source字串和一個target字串,你應該在source字串中找出target出現的第一個位置(從0開始) 程式碼如下: int h = 0;

java判斷一個字串是否“都為數字”和“是否包含數字”和“擷取數字”

java中判斷字串是否為數字的三種方法 1用JAVA自帶的函式 public static boolean isNumeric(String str){   for (int i = str.length();--i>=0;){      if (!Character.isDigit(str.charA

如何在java判斷一個字串是否是數字

前言 數字在某些領域經常用字串來進行表示和傳遞。那麼我們如何判斷一個字串是否是數字呢?今天我們來探討一下這個話題。 空字元和nu

C++判斷一個檔案是否存在的方法

最進在寫的一個系統需要儲存結果資料,但是儲存結果資料的時候,如果那個資料已經存在,就會無法儲存,所以就需要先判斷是否存在該資料,判斷方法如下: #include<iostream> #include<fstream> using namespace

NET判斷一個文字檔案的編碼方式

檔案的字符集在Windows下有兩種,一種是ANSI,一種Unicode。 對於Unicode,Windows支援了它的三種編碼方式,一種是小尾編碼(Unicode),一種是大尾編碼(BigEndianUnicode),一種是UTF-8編碼。 我們可以從檔案的頭部來區分一個

python判斷一個檔案是否存在

你可以使用os.path.isfile,如果存在,它會返回True.如下: import os.path os.path.isfile(fname) 或者使用os.path.exists: import os.path os.p

java檔案操作 (1)——判別指定檔案是否存在,讀取檔案修改時間和大小,讀取文字檔案內容,向文字檔案寫入指定內容

任務要求: 完成一個java application應用程式,判別指定路徑下指定檔名的檔案是否存在。 如果指定檔案存在,讀取並分別顯示其修改時間和檔案大小等屬性。 以文字方式開啟某一指定路徑指定檔名的文字檔案,讀取其內容並顯示。 以文字方式向某

怎樣判斷一個exe可執行程式(dll檔案)是32位的還是64位的?

簡便方法: 直接用記事本或者notepad++開啟exe檔案(dll檔案),會有很多亂碼,不要頭疼,接下來只需要在第二段中找到PE兩個字母,在其後的不遠出會出現d? 或者L。若是d,則證明該程式是64位;若是L,則證明是32位。

java判斷字串是否是一個整數(轉載)

1.使用型別轉換判斷   try {                  String str="123abc";                  int num=Integer.valueOf(str);//把字串強制轉換為數字                  retu

Java使用Jar包時讀取當前jar檔案所在的目錄工具

在實際使用中,jar包所放的位置是不一定的所以要動態獲取當前目錄 package com.gj5u.publics.util; import java.io.File; /** * 獲取打包後

Java輸入一個十進位制數,如何轉換為二進位制

方法一:利用Java API直接轉換 十進位制數如何轉換為二進位制數,這在Java API 中有一個方法,Integer.toBinaryString( ) 括號裡面寫上你要轉換的十進位制數,這樣可以直接轉換。例如: public static void

java使用JSCH包,SFTP及SSH2檔案操作及遠端命令執行

SFTPConstants.java,定義我們需要使用的一些引數名稱: public class SFTPConstants { public static final String SFTP_REQ_HOST = "host"; public static

JAVA 如何判斷一個字串是否在一個字串陣列?(好的程式設計習慣)

String[] str={"數學","語文","英語","物理","化學","生物"};System.out.print("地理");如何判斷“地理”這個字串是否在 str[] 這個陣列中? p

java的JDBC詳解 附帶實現配置檔案訪問資料庫

JDBC 是Java操作資料庫的規範,它實際上定義了一組標準的資料庫的介面,為了實現通過java操作資料庫,必須實現這些介面,不同的資料庫廠商都提供了對JDBC介面的實現,這些具體的實現被打包成一個jar包(也就是資料庫驅動),供我們在開發的時候直接使用。 J

MFC 刪除一個非空資料夾 (MFC 檔案操作 一)

      最近在看MFC 的檔案操作,從網上淘了一本比較講MFC檔案操作比較全的電子書,然後開始試手。在刪除資料夾時,遇到了問題,通過檢視MSDN和網友的論壇留言,自己總算是解決了這個問題,現在與大家共享。       MFC中提供了刪除資料夾的一個封裝函式 Remove

java一個物件陣列刪除元素和判斷物件陣列存了幾個元素的方法

//從陣列中刪除元素方法 private int arrayTotal=0; Pet[] pets=new Pet[10]; pets[1]=dog; pets[2]=cat; pets[3]=pig

JAVA查詢一個詞在內容出現的次數、判斷集合是否包含關鍵字、查詢字串陣列單個字元的長度

JAVA中查詢一個詞在內容中出現的次數 public int getCount(String str,String key){ if(str == null || key == null ||

java判斷任何一個整數區間的素數的個數,並輸出所有的素數

什麼是素數,這個概念還是初中接觸的,看到這個題目還是百度了下,原來是大於1,,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數;否則稱為合數,,,,,, 看看