在读取双字节字符时,主要涉及到编码的选取:
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文件中是否含有双字节字符,若有返回假,否则返回真。
分享到:
相关推荐
Delphi判断双字节,用法简单,在窗口输入框中输入字符串,单击按钮即可,程序会判断出是否包含有双字节字符,判断方法请看下边的代码段: s := Edit1.Text; i := 0; while i begin if (ByteType(S,i) <> ...
在vb6.0中,经常会用到计算字符串中的单双字节字符个数,可用于精确定位字符串显示位置、格式化文档中的字符串等。
Android编程快速入门——字节跳动.pptx
1SC16C2552B——带16字节FIFO的双UART器件
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流...
该程序在VS2008上测试通过,代码可以实现多字节和宽字节字符之间的相互转换。
Android编程快速入门——字节跳动
双字节乘单字节的51单片机asm文件双字节乘单字节的51单片机asm文件双字节乘单字节的51单片机asm文件
包括了基本的单字节、多字节、双字节之间的相互转换。如果想对版本升级及学习可以参考。(从他人文章中下载的,希望没有侵权)。
android byte字节数组转换十六进制字符串一个demo。里面有几种转换测试代码。我的博客地址:http://blog.csdn.net/qq_16064871。
首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL中调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。突然想到Oracle有一个编码转换的函数叫...
在源代码Java中查找全角字符,或者任何一个双字节字符,可以是中文字符,韩文字符,日文字符等等。。。。
c#中的流,字节,字符,字符串的互相转化
可以在TXT文件中每隔多少个字节插入自己想插入的字符,或者插入回车符号。特别适合文本过长而没有回车符。因为汉字占2个字节,换行符也占2个字节为$0D+$0A,如果想汉字和换行符不会被拆分的话可以在源码里自己添加...
FileWriter :通过字节的方式写出或追加数据到文件中,仅适合字符文件 部分方法同文件字节流(read(),write()) 其他方法: FileWriter:append()写入 name.append(“你好”); name.append(“你好,”).append(“朋友”); ...
C# 按照字节长度截取字符串,可以截取任意字节长度得字符串,使用了一点正则表达式。
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
简单讲述了 双字节 多字节 宽字节 Unicode之间的关系及转换
字节变成字符串