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

  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. try {
  6. FileInputStream fis=new FileInputStream(f);
  7. //"GBK"编码方式支持双字节字符
  8. InputStreamReader isr=new InputStreamReader(fis, "GBK");
  9. BufferedReader br=new BufferedReader(isr);
  10. String line="";
  11. while((line=br.readLine())!=null){
  12. //逐行读取文件,
  13. //检索文件中是否含有双字节字符
  14. Matcher m=p.matcher(line);
  15. if(m.find()){
  16. fis.close();
  17. isr.close();
  18. br.close();
  19. return false;
  20. }
  21. }
  22. fis.close();
  23. isr.close();
  24. br.close();
  25. } catch (FileNotFoundException e) {
  26. // TODO Auto-generated catch block
  27. e.printStackTrace();
  28. } catch (UnsupportedEncodingException e) {
  29. // TODO Auto-generated catch block
  30. e.printStackTrace();
  31. } catch (IOException e) {
  32. // TODO Auto-generated catch block
  33. e.printStackTrace();
  34. }
  35. return true;
  36. }

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

05-11 17:05