很多的文本文件会有不同的编码格式,造成这种编码差异的可能是系统的差异,可能是在保存文件时采用特定的字符集编码来保存。这时我们利用Java语言来打开这些文本时,如果不使用正确的字符集解码器打开,肯定会出现乱码。好在java.io包提供了一个java.io.InputStreamReader类来支持指定文本字符集编码,以正确显示文本。
而对于采用特定的字符集编码格式将文本内容写入文件当中,我们则可以采用OutputStream中的write(String.getBytes("gb2312"))方法;其中的gb2312可以是其他的字符集编码格式,如"gbk","utf-8"等等。
示例代码如下:
//读取文本
InputStream in = new FileInputStream("allfilename");
InputStreamReader isr = new InputStreamReader(in, charsetName);
BufferedReader br = new BufferedReader(isr);
//写文本
OutputStream out = new FileOutputStream("allfilename");
out.write("string字符串".getBytes("gbk"));
这样就可完成对于特定字符集编码的文档的读写(IO)操作。 ......
改一个这样的题目正式告诉你,我终于动手记录一些java的笔记了。实在很久没有写java了。哈哈,不好意思,为了flash 后台有个支持,java 这部分还是要学一点,但不是很重点学。这部分东西,我不熟悉,也在慢慢记录。自己看的笔记,所以要是你不是傻B,最好不要看。
在今晚练习的时候,尝试去连接可爱的mysql 的时候,居然发现了两个错误,网上查询了一些,发现了两个问题
第一个问题:
java.lang.ClassNotFoundException
描述一下,发生的问题过程,使用了eclise 进行尝试连接本地的mysql 的时候,发生了这个问题。经常说找不到
“com.mysql.jdbc.Driver” ,原来在制作的时候漏了一个jdbc 的jar 文件。
如:mysql-connector-java-3.1.14-bin.jar ,我的版本比较旧一点。把这个jdbc 的jar 引人到工程里面。嘿嘿,居然无事了。
实在太高兴了。原来发现在使用eclise 的时候,没有引入这个jar 包的时候,会产生这个错误。把他引入去就无事了。
至于具体是不是这样原因,实在无法回答了。
第二个问题:
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERR ......
---------------------------------------
Asp.Net,C#,SQL,JS,WCF,AJAX,工作流,WPF,MVC,LINQ,设计模式(架构)等技术讨论
“ASP.NET(C#)Fans” QQ群:96877690
---------------------------------------
不管是J2SE、J2EE还是J2ME敬请加入!Eclipse、NetBeans
Java交流QQ高级群扩招:96878255 ......
---------------------------------------
Asp.Net,C#,SQL,JS,WCF,AJAX,工作流,WPF,MVC,LINQ,设计模式(架构)等技术讨论
“ASP.NET(C#)Fans” QQ群:96877690
---------------------------------------
不管是J2SE、J2EE还是J2ME敬请加入!Eclipse、NetBeans
Java交流QQ高级群扩招:96878255 ......
---------------------------------------
Asp.Net,C#,SQL,JS,WCF,AJAX,工作流,WPF,MVC,LINQ,设计模式(架构)等技术讨论
“ASP.NET(C#)Fans” QQ群:96877690
---------------------------------------
不管是J2SE、J2EE还是J2ME敬请加入!Eclipse、NetBeans
Java交流QQ高级群扩招:96878255 ......
JAVA语言中的反射机制:
在Java 运行时 环境中,对于任意一个类,能否知道这个类有哪些属性和方法?
对于任意一个对象,能否调用他的方法?这些答案是肯定的,这种动态获取类的信息,以及动态调用类的方法的功能来源于JAVA的反射。从而使java具有动态语言的特性。
JAVA反射机制主要提供了以下功能:
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法)
4.在运行时调用任意一个对象的方法(*****注意:前提都是在运行时,而不是在编译时)
Java 反射相关的API简介:
位于java.lang.reflect包中
--Class类:代表一个类
--Filed类:代表类的成员变量
--Method类:代表类的方法
& ......
第一,谈谈final, finally, finalize的区别。
最常被问到。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
这个问得很少。
第五,HashMap和Hashtable的区别。
常问。
第六,Collection 和 Collections的区别。
你千万别说一个是单数一个是复数。
第七,什么时候用assert。
API级的技术人员有可能会问这个。
第八,GC是什么? 为什么要有GC?
基础。
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。
第十二,sleep() 和 wait() 有什么区别?
搞线程的最爱。
第十三,Java有没有goto?
JAVA相关基础知识
......
本文介绍Java的BigDecimal类的应用。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
BigDecimal类
双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。
表5.7 BigDecimal类的主要构造器和方法
构造器 描 述
BigDecimal(int)创建一个具有参数所指定整数值的对象。
BigDecimal(double)创建一个具有参数所指定双精度值的对象。
BigDecimal(long)创建一个具有参数所指定长整数值的对象。
BigDecimal(String)创建一个具有参数所指定以字符串表示的数值的对象。
续表
方 法描 述
add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。
toString()将BigDecimal对象的数值转换成字符串。
doubleValue()将BigDecimal对象 ......