Android——检测TXT文件中是否含有双字节字符

在读取双字节字符时,主要涉及到编码的选取:

Java代码  收藏代码
  1. public static boolean isRightfulTXT(File f) {  
  2.   // TODO Auto-generated method stub  
  3.   String regexp="[^\\x00-\\xff]";//双字节字符  
  4.   Pattern p=Pattern.compile(regexp);  
  5.     
  6.   try {  
  7.    FileInputStream fis=new FileInputStream(f);  
  8.    //"GBK"编码方式支持双字节字符  
  9.    InputStreamReader isr=new InputStreamReader(fis, "GBK");  
  10.    BufferedReader br=new BufferedReader(isr);  
  11.    String line="";  
  12.    while((line=br.readLine())!=null){  
  13.     //逐行读取文件,  
  14.     //检索文件中是否含有双字节字符  
  15.     Matcher m=p.matcher(line);  
  16.     if(m.find()){  
  17.      fis.close();  
  18.      isr.close();  
  19.      br.close();  
  20.      return false;  
  21.     }    
  22.    }    
  23.    fis.close();  
  24.    isr.close();  
  25.    br.close();  
  26.   } catch (FileNotFoundException e) {  
  27.    // TODO Auto-generated catch block  
  28.      
  29.    e.printStackTrace();  
  30.   } catch (UnsupportedEncodingException e) {  
  31.    // TODO Auto-generated catch block  
  32.    e.printStackTrace();  
  33.   } catch (IOException e) {  
  34.    // TODO Auto-generated catch block  
  35.    e.printStackTrace();  
  36.   }  
  37.    
  38.   return true;    
  39.  }  

 以上代码功能:检测txt文件中是否含有双字节字符,若有返回假,否则返回真。

posted @ 2014-11-18 08:34  xiaochao1234  阅读(387)  评论(0编辑  收藏  举报