在读取双字节字符时,主要涉及到编码的选取:
public static boolean isRightfulTXT(File f) {??// TODO Auto-generated method stub??String regexp="[^\\x00-\\xff]";//双字节字符??Pattern p=Pattern.compile(regexp);????try {???FileInputStream fis=new FileInputStream(f);???//"GBK"编码方式支持双字节字符???InputStreamReader isr=new InputStreamReader(fis, "GBK");???BufferedReader br=new BufferedReader(isr);???String line="";???while((line=br.readLine())!=null){????//逐行读取文件,????//检索文件中是否含有双字节字符????Matcher m=p.matcher(line);????if(m.find()){?????fis.close();?????isr.close();?????br.close();?????return false;????}? ???}? ???fis.close();???isr.close();???br.close();??} catch (FileNotFoundException e) {???// TODO Auto-generated catch block??????e.printStackTrace();??} catch (UnsupportedEncodingException e) {???// TODO Auto-generated catch block???e.printStackTrace();??} catch (IOException e) {???// TODO Auto-generated catch block???e.printStackTrace();??}???return true;? ?}
?以上代码功能:检测txt文件中是否含有双字节字符,若有返回假,否则返回真。