易截截图软件、单文件、免安装、纯绿色、仅160KB

java读取文件内容(中文文件解决办法)

众所周知,java的中文问题一直是一个老大难的问题,这个现象可以在csdn中java论坛里关于中文乱码的提问率就可以了解到,甚至软件巨人IBM专门开辟了一个解决中文问题的专区,作为一个俗人(一直梦想希望想金凯利那样成为一个“冒牌天神”,只是一直没有成功,也许是因为上帝不照顾中国吧),我也为同意的问题困扰,好在今天解决了。
 
    随着我对.net平台的彻底放弃(只是生活所迫,毕竟我还要生活),将原有的资源转到Java平台上来是我当前的一个重要任务之一,说到这里,不得不承认.net对中文问题解决的很好,虽然偶尔也会出现乱码。
 
    问题是这样的,我的box(http://www.ibeyond.org/box/)原来是使用asp.net写的(当时只是为了尝试新的技术),当时为了数据的可移植性我放弃了使用数据库,将全部数据保存为UTF-8编码的文本文件,在.net中读取这种文件秩序只要指定打开文件的编码方式,中文问题就可以避免。但是按照我以前的思维,java中不是这么作的,java中都是先读取后转换的,最后的结果证明我错了,看来经验主意害死人呀。
 
File f=new File((new BoxConfig()).getBaseDir()+"Data\\"+request.getParameter("ID")+".inc");
 
BufferedReader reader = new BufferedReader(new FileReader(f));
 
String line;
 
while((line=reader.readLine())!=null){
 
  strContent+=line;
 
}
 
这是我最初的代码f就是我要读取的UTF-8格式的文本文件,这一天中经过了无数次的尝试,包括new String(strContent.getBytes("UTF-8"))(其中尝试了N种编码转换),System.setProperty("file.encoding","UTF-8")(其中指定了N种编码转换),都失败了,其中甘苦相信各位经历过被程序折磨的各位看官都有所了解,在此略过。终于在Google中无数次查询中得到了一个后来被证明很重要的一条信息“读取文件时指定字符编码”,一语点醒梦中人,.net中不就是这么实现的吗?走了一圈弯路终于解决了这个问题。
 
File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");
 
InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");
 
BufferedReader reader=new BufferedReader(read);
 
String line;
 
while ((line = reader.


相关文档:

关于Java中split方法对空字符串处理问题

     当前在进行的项目中,在使用split方法时遇到一个比较隐蔽的问题,最后问题解决了,得到的一个启迪就是在使用这些函数时,真的需要认真参考文档,都怪自己太粗心,下面总结一下以加深记忆
     问题描述:
     从数据库返回的数据串,需要计算数据的个 ......

JAVA java.io.InvalidClassException急解


JAVA--java.io.InvalidClassException急解
字号:T|T
JAVA--java.io.InvalidClassException急解
java.io.InvalidClassException: message.RegisterMessage; local class incompatible: stream classdesc serialVersionUID = 5540404719929042644, local class serialVersionUID = -8915824483106432775
回答:
最佳 ......

动态Proxy与Java ACL用户访问控制机制实现

用户访问控制(Access control )机制总是围绕粗粒度和细粒度两个方面来讨论:
  粗粒度控制:可以规定访问整个对象或对象群的某个层,而细粒度控制则总是在方法或属性层进行控制,比如:
  答应一个文件为只读是属于粗粒度控制,而答应对这个文件某行有写操作则属于细粒度控制。
  一个好的用户控制机制当然既答应 ......

Java IO流学习总结


    一、IO流的三种分类方式
           1.按流的方向分为:输入流和输出流
           2.按流的数据单位不同分为:字节流和字符流
          &n ......

每个项目中,你不得不知的11个Java第三方类库

Java第三方library ecosystem是一个很广阔的范畴。不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库。
单元测试
1.DBUnit
DBunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装。
2.MOckito
Mockito是一个针对Java的mocking框架。你可以使用简洁的API编写出 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号