﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-sunny的小屋-随笔分类-java</title><link>http://www.blogjava.net/sunny/category/6713.html</link><description>&lt;SCRIPT language="JavaScript"&gt; &lt;!-- function www_helpor_net(offset) { var endstr=document.cookie.indexOf(";",offset);if(endstr==-1) endstr=document.cookie.length;return unescape(document.cookie.substring(offset,endstr));} function GetCookie(name) { var arg=name+"="; var alen=arg.length; var clen=document.cookie.length; var i=0;while(i&lt;clen) { var j=i+alen; if(document.cookie.substring(i,j)==arg) return www_helpor_net(j); i=document.cookie.indexOf(" ",i)+1;if(i==0) break; } return null; } function SetCookie(name,value) { var argv=SetCookie.arguments; var argc=SetCookie.arguments.length; var expires=(2&lt;argc)?argv[2]:null; var path=(3&lt;argc)?argv[3]:null; var domain=(4&lt;argc)?argv[4]:null; var secure=(5&lt;argc)?argv[5]:false; document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":""); } var expdate=new Date(); var visits; expdate.setTime(expdate.getTime()+(24*60*60*1000*365)); //设置COOKIES时间为1年,自己随便设置该时间 if(!(visits=GetCookie("visits"))) visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false); //以下信息显示可以使用标准的HTML语法,自己随便设置 document.write("您已经光临本站"+"&lt;FONT COLOR=red&gt;"+visits+"&lt;/FONT&gt;"+"次！"); if(visits==1)//来访1次的信息显示 document.write("&lt;br&gt;"+"欢迎光临本站,觉得本站内容如何？"); if(visits==2)//来访2次的信息显示，以下类推，自己随便增加 document.write("&lt;br&gt;"+"再次光临不胜容幸!今后要常来啊!"); if(visits&gt;=3 &amp;&amp; visits&lt;10) document.write("&lt;br&gt;"+"常客,你又来了,我真的高兴啊!"); if(visits&gt;=10 &amp;&amp; visits&lt;30) document.write("&lt;br&gt;"+"又来了,好兄弟阿!"); if(visits&gt;=30 &amp;&amp; visits&lt;60) document.write("&lt;br&gt;"+"天哪,又来了,高兴得我痛心疾首啊!"); if(visits&gt;=60 &amp;&amp; visits&lt;100) document.write("&lt;br&gt;"+"我们以后就是好兄弟了,没得说!"); if(visits&gt;=100 &amp;&amp; visits&lt;150) document.write("&lt;br&gt;"+"靠,没啥说的,兄弟看得起我,高兴!"); if(visits&gt;=150) document.write("&lt;br&gt;"+"疯狂啊!兄弟啊,我真的非常喜欢你。"); //--&gt; &lt;/SCRIPT&gt; &lt;br&gt;希望大家喜欢sunny的小屋，大家要常来坐坐哦。</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 14:22:28 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 14:22:28 GMT</pubDate><ttl>60</ttl><item><title>java浮点数运算不准确问题的解决</title><link>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Tue, 07 Feb 2006 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/29763.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/02/07/29763.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/29763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/29763.html</trackback:ping><description><![CDATA[<P>今天遇到了这样的问题，就是浮点运算后数据比较出现错误，郁闷了半天，网上查了资料才发现浮点数直接用双目运算符连接会出现结果不准确问题。解决方法如下：<BR>1。所有浮点运算都在数据库内做好，也就是都用sql实现了<BR>2。用BigDecimal实现，方法如下（仅仅是个例子）：<BR>import java.math.BigDecimal;</P>
<P>public class tt {</P>
<P>&nbsp;/**<BR>&nbsp; * @param args<BR>&nbsp; */<BR>&nbsp;public static void main(String[] args) {<BR>&nbsp;&nbsp;float a = 1.1f;<BR>&nbsp;&nbsp;float b = 2.2f;<BR>&nbsp;&nbsp;tt t = new tt();<BR>&nbsp;&nbsp;System.out.println(t.add(a,b));<BR>&nbsp;&nbsp;System.out.println(t.sub(a,b));<BR>&nbsp;&nbsp;System.out.println(t.mul(a,b));<BR>&nbsp;&nbsp;System.out.println(t.div(a,b));<BR>&nbsp;&nbsp;System.out.println(t.round(a));</P>
<P>&nbsp;}<BR>&nbsp;public float add(float v1,float v2){//加法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.add(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float sub(float v1,float v2){//减法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.subtract(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float mul(float v1,float v2){//乘法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.multiply(b2).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float div(float v1,float v2){//除法<BR>&nbsp;&nbsp; BigDecimal b1 = new BigDecimal(Float.toString(v1));<BR>&nbsp;&nbsp; BigDecimal b2 = new BigDecimal(Float.toString(v2));<BR>&nbsp;&nbsp; return b1.divide(b2,3,BigDecimal.ROUND_HALF_UP).floatValue();<BR>&nbsp; }</P>
<P>&nbsp; public float round(float v){//截取3位<BR>&nbsp;&nbsp; BigDecimal b = new BigDecimal(Float.toString(v));<BR>&nbsp;&nbsp; BigDecimal one = new BigDecimal("1");<BR>&nbsp;&nbsp; return b.divide(one,3,BigDecimal.ROUND_HALF_UP).floatValue();<BR>&nbsp; }<BR>}<BR></P><img src ="http://www.blogjava.net/sunny/aggbug/29763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-02-07 09:55 <a href="http://www.blogjava.net/sunny/archive/2006/02/07/29763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse快捷键大全</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27605.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27605.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27605.html</trackback:ping><description><![CDATA[<P>以前都是用ue开发java，一个字，累啊，后来听说了eclipse，就开始学习使用，用了一阵，觉得还不错，就在网上找了一些高手发的快捷键，熟练运用会减少很多浪费的时间。<BR><BR>Alt+/:代码提示<BR>Ctrl+/:注释/取消注释<BR>Ctrl+D:删除光标所在行<BR>Ctrl+K:将光标停留在变量上，按Ctrl+K键可以查找到下一个同样的变量<BR>Shift+Ctrl+K:和Ctrl+K查找的方向相反<BR>Shift+Ctrl+F:代码格式化。如果选择了代码，仅对所选代码格式化<BR>Shift+Ctrl+O:快速地导入import<BR>Shift+Ctrl+X:将所选字符转为大写<BR>Shift+Ctrl+Y:将所选字符转为小写<BR>Ctrl+M:快速对当前视图最大化<BR>Ctrl+O:在代码中打开类似大纲视图的小窗口<BR>Ctrl+单击:可以跟踪方法和类的源码<BR>Alt+左右方向键:跳到前一次/后一次的编辑位置。<BR>Ctrl+鼠标停留:可以显示类和方法的源码<BR>双击左括号（小括号、中括号、大括号），将选择括号内的所有内容。<BR>Ctrl+1:光标停在某变量上，按Ctrl+1键，可以提供快速重构方案。选中若干行，按Ctrl+1键可将此段代码放入for、while、if、do或try等代码块中。<BR>F3:打开声明该引用的文件<BR>F4:打开类型层次结构<BR>F5:单步跳入<BR>F6:单步跳过<BR>F7:单步跳出<BR>F8:继续，如果后面没有断点，程序将运行完<BR>Ctrl+H:打开搜索窗口<BR>Ctrl+Shift+S:保存全部</P>
<P>Alt+Left:回退一步</P>
<P>Alt+Right:前跳一步</P>
<P>Ctrl+Shift+T:打开类型</P>
<P>Ctrl+Shift+R:打开资源</P>
<P>Ctrl+Q:回到最后一次编辑的地方</P>
<P>Ctrl+Shift+G: 在workspace中搜索引用</P>
<P>Ctrl+Alt+Down: 复制高亮显示的一行或多行</P>
<P>Alt+Up(Down):将一行或者多行向上或者向下移动<BR></P><img src ="http://www.blogjava.net/sunny/aggbug/27605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:22 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习java日期、日期格式、日期的解析和日期的计算[代码]</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27603.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27603.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27603.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27603.html</trackback:ping><description><![CDATA[<P>学习日期、日期格式、日期的解析和日期的计算[代码]<BR><BR>存了很久，忘记从什么地方找到的了，不过觉得很实用，分享一下，毕竟java的日期曾经给我造成过很大的麻烦，希望大家看了之后不会太走弯路。</P>
<P>Java 语言的Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分. 日期是商业逻辑计算一个关键的部分. 所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象. 我们写了两篇文章, 这是第一篇, 我们将大概的学习日期, 日期格式, 日期的解析和日期的计算. </P>
<P>我们将讨论下面的类: </P>
<P>1、具体类(和抽象类相对)java.util.Date <BR>2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat <BR>3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar </P>
<P>具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类. </P>
<P>Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它. 这种改进旨在更好的处理日期数据的国际化格式. 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数. </P>
<P>一、创建一个日期对象 </P>
<P>让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间. <BR>import java.util.Date; </P>
<P>public class DateExample1 { <BR>public static void main(String[] args) { <BR>// Get the system date/time <BR>Date date = new Date(); <BR>System.out.println(date.getTime()); <BR>} <BR>} </P>
<P>在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是 1001803809710. 在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数. 而这个构造函数在内部使用了 System.currentTimeMillis() 方法来从系统获取日期. </P>
<P>那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了. 我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类 java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了. </P>
<P>二、日期数据的定制格式 </P>
<P>假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作:<BR>import java.text.SimpleDateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample2 { <BR>public static void main(String[] args) { <BR>SimpleDateFormat bartDateFormat = <BR>new SimpleDateFormat("EEEE-MMMM-dd-yyyy"); <BR>Date date = new Date(); <BR>System.out.println(bartDateFormat.format(date)); <BR>} <BR>} </P>
<P>只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式. 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示 Sat-09-29-01. 请察看Sun 公司的 Web 站点获取日期格式化选项的完整的指示.</P>
<P>三、将文本数据解析成日期对象 </P>
<P>假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象. 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据. 我们的例子, 显示在下面, 将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象. </P>
<P>例子程序: <BR>import java.text.SimpleDateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample3 { <BR>public static void main(String[] args) { <BR>// Create a date formatter that can parse dates of <BR>// the form MM-dd-yyyy. <BR>SimpleDateFormat bartDateFormat = <BR>new SimpleDateFormat("MM-dd-yyyy"); <BR>// Create a string containing a text date to be parsed. <BR>String dateStringToParse = "9-29-2001"; <BR>try { <BR>// Parse the text version of the date. <BR>// We have to perform the parse method in a <BR>// try-catch construct in case dateStringToParse <BR>// does not contain a date in the format we are expecting. <BR>Date date = bartDateFormat.parse(dateStringToParse); </P>
<P>// Now send the parsed date as a long value <BR>// to the system output. <BR>System.out.println(date.getTime()); <BR>}catch (Exception ex) { <BR>System.out.println(ex.getMessage()); <BR>} <BR>} <BR>} </P>
<P>五、使用标准的日期格式化过程 </P>
<P>既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程. 方法 DateFormat.getDateTimeInstance() 让我们得以用几种不同的方法获得标准的日期格式化过程. 在下面的例子中, 我们获取了四个内建的日期格式化过程. 它们包括一个短的, 中等的, 长的, 和完整的日期格式. <BR>import java.text.DateFormat; <BR>import java.util.Date; </P>
<P>public class DateExample4 { <BR>public static void main(String[] args) { <BR>Date date = new Date(); <BR>DateFormat shortDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.SHORT, <BR>DateFormat.SHORT); </P>
<P>DateFormat mediumDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.MEDIUM, <BR>DateFormat.MEDIUM); </P>
<P>DateFormat longDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.LONG, <BR>DateFormat.LONG); </P>
<P>DateFormat fullDateFormat = <BR>DateFormat.getDateTimeInstance( <BR>DateFormat.FULL, <BR>DateFormat.FULL); <BR>System.out.println(shortDateFormat.format(date)); <BR>System.out.println(mediumDateFormat.format(date)); <BR>System.out.println(longDateFormat.format(date)); <BR>System.out.println(fullDateFormat.format(date)); <BR>} <BR>} </P>
<P>注意我们在对 getDateTimeInstance的每次调用中都传递了两个值. 第一个参数是日期风格, 而第二个参数是时间风格. 它们都是基本数据类型int(整型). 考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释. </P>
<P>运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容: <BR>9/29/01 8:44 PM <BR>Sep 29, 2001 8:44:45 PM <BR>September 29, 2001 8:44:45 PM EDT <BR>Saturday, September 29, 2001 8:44:45 PM EDT</P>
<P>六、Calendar 类 </P>
<P>我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中被人唾骂的方法. </P>
<P>假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天. 为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar. 考虑下面的例子, 它计算得到下面的第十个星期五是13号. <BR>import java.util.GregorianCalendar; <BR>import java.util.Date; <BR>import java.text.DateFormat; </P>
<P>public class DateExample5 { <BR>public static void main(String[] args) { <BR>DateFormat dateFormat = <BR>DateFormat.getDateInstance(DateFormat.FULL); </P>
<P>// Create our Gregorian Calendar. <BR>GregorianCalendar cal = new GregorianCalendar(); </P>
<P>// Set the date and time of our calendar <BR>// to the system&amp;s date and time <BR>cal.setTime(new Date()); </P>
<P>System.out.println("System Date: " + <BR>dateFormat.format(cal.getTime())); </P>
<P>// Set the day of week to FRIDAY <BR>cal.set(GregorianCalendar.DAY_OF_WEEK, <BR>GregorianCalendar.FRIDAY); <BR>System.out.println("After Setting Day of Week to Friday: " + <BR>dateFormat.format(cal.getTime())); </P>
<P>int friday13Counter = 0; <BR>while (friday13Counter &lt;= 10) { <BR>// Go to the next Friday by adding 7 days. <BR>cal.add(GregorianCalendar.DAY_OF_MONTH, 7); <BR>// If the day of month is 13 we have <BR>// another Friday the 13th. <BR>if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 13) { <BR>friday13Counter++; <BR>System.out.println(dateFormat.format(cal.getTime())); <BR>} <BR>} <BR>} <BR>} </P>
<P>在这个例子中我们作了有趣的函数调用: <BR>cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY); </P>
<P>和: <BR>cal.add(GregorianCalendar.DAY_OF_MONTH, 7); </P>
<P>set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五. 注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性. add 方法让我们能够在日期上加上数值. 润年的所有复杂的计算都由这个方法自动处理. </P>
<P>我们这个例子的输出结果是: <BR>System Date: Saturday, September 29, 2001 <BR>当我们将它设置成星期五以后就成了: Friday, September 28, 2001 <BR>Friday, September 13, 2002 <BR>Friday, December 13, 2002 <BR>Friday, June 13, 2003 <BR>Friday, February 13, 2004 <BR>Friday, August 13, 2004 <BR>Friday, May 13, 2005 <BR>Friday, January 13, 2006 <BR>Friday, October 13, 2006 <BR>Friday, April 13, 2007 <BR>Friday, July 13, 2007 <BR>Friday, June 13, 2008 </P>
<P><BR>七、时间掌握在你的手里 </P>
<P>有了这些Date 和Calendar 类的例子, 你应该能够使用 java.util.Date, java.text.SimpleDateFormat, 和 java.util.GregorianCalendar 创建许多方法了. </P>
<P>在下面的文章中, 我们将讨论更高级的Date 和 Calendar 类的使用技巧, 包括时区和国际化的格式. 我们还会考察两个日期类 java.sql.Date 和 java.util.Date 之间的区别.</P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/sunny/aggbug/27603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:08 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java读写文件的简单实现</title><link>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Wed, 11 Jan 2006 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/27602.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/11/27602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/27602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/27602.html</trackback:ping><description><![CDATA[<P>在朋友的blog上看到的，觉得很多人应该会遇到这样的问题，贴出拉吧<BR><BR>读文件<BR>BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("infilename")));<BR>不管你从磁盘读，从网络读，或者从键盘读，读到内存，就是InputStream。</P>
<P>写文件<BR>BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("outfilename")));<BR>不管你写倒磁盘，写到网络，或者写到屏幕，都是OuputStream。<BR>&nbsp;</P><img src ="http://www.blogjava.net/sunny/aggbug/27602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-11 15:06 <a href="http://www.blogjava.net/sunny/archive/2006/01/11/27602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache Tomcat 5.5.15-beta 发布（转自matrix）</title><link>http://www.blogjava.net/sunny/archive/2006/01/06/26859.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Fri, 06 Jan 2006 04:12:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/06/26859.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/26859.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/06/26859.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/26859.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/26859.html</trackback:ping><description><![CDATA[<DIV class=title>
<H2>Apache Tomcat 5.5.15-beta 最近发布了<BR><BR>新版本主要是fix了一些bugs<BR><BR>官方提到: </H2></DIV>
<DIV class=overflow id=text>
<DIV id=quote>The Apache Tomcat team is proud to announce the immediate availability of Tomcat v5.5.15-beta. This is primarily a bug fix release: consult the change log below for more details.</DIV><BR><BR>5.5之后Tomcat都算比较稳定了，只是Tomcat的速度倒一直被人诟病。相比之下，Resin要快得多。<BR><BR>最新版本下载：<A href="http://tomcat.apache.org/download-55.cgi" target=_new>http://tomcat.apache.org/download-55.cgi</A><BR><BR><A href="http://www.matrix.org.cn/topic.shtml?forumId=27" target=_new>Tomcat社区</A>：<A href="http://www.matrix.org.cn/topic.shtml?forumId=27" target=_new>http://www.matrix.org.cn/topic.shtml?forumId=27</A> </DIV><img src ="http://www.blogjava.net/sunny/aggbug/26859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-06 12:12 <a href="http://www.blogjava.net/sunny/archive/2006/01/06/26859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun正式发布Java API文档中文版</title><link>http://www.blogjava.net/sunny/archive/2006/01/05/26639.html</link><dc:creator>随风逝</dc:creator><author>随风逝</author><pubDate>Thu, 05 Jan 2006 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/sunny/archive/2006/01/05/26639.html</guid><wfw:comment>http://www.blogjava.net/sunny/comments/26639.html</wfw:comment><comments>http://www.blogjava.net/sunny/archive/2006/01/05/26639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sunny/comments/commentRss/26639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sunny/services/trackbacks/26639.html</trackback:ping><description><![CDATA[<H3>Sun正式发布Java API文档中文版</H3>　　Sun 公司提供的Java API Docs是学习和使用Java语言中最经常使用的参考资料之一。但是长期以来此文档只有英文版，对于中国地区的Java开发者来说相当的不便。目前Sun 公司正在组织多方力量将此文档翻译成中文，并于近日在Sun 中国技术社区(gceclub.sun.com.cn/)正式发布java.lang和java.util类库API 文档的中文版，其他类库API文档的中文版也将于今后以每隔一～二个月的进度陆续向中国地区的开发人员提供。<BR><BR>整理成了CHM格式供大家下载，方便线下阅读。<FONT color=#ff0000>&nbsp;&nbsp;<STRONG><A HREF="/Files/sunny/j2se_中文版.rar" target=_blank>点击下载Java API 中文版</A></STRONG></FONT> <BR>(目前版本是J2SE 5.0的，我想应该还有不少朋友是在用1.4,不过文档中都已经注明此接口、类、枚举、异常是在那个版本开始出现的，这样也不错）<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前已开放的类库API中文档在Sun中国技术社区里都可以在线完整的阅读，请拜访：<A href="http://gceclub.sun.com.cn/download.html">gceclub.sun.com.cn/chinese_java_docs.html</A> 
<P>　　为了保证Java API 文档中文版的翻译质量，Sun 中国技术社区专门开设了Java API 文档中文版相关论坛。欢迎所有正在学习和使用Java技术的人员到该论坛为此次Java API 文档中文版的翻译工作提出您的意见和建议。Sun 公司将有专门的工程师在该论坛回答您有关Java API 文档中文版的问题，并在最短时间内将您的意见和建议反馈给我们的翻译团队。在J2SE API文档(5.0版本)的汉化工作完成之后，Sun 中国技术社区还将开通Java API 文档中文版的打包下载服务。</P>
<P>　　除了Java API 文档中文版的开放外，Sun公司也针对近期成为中国技术社区的成员投下一个令人震撼的利多：凡注册加入中国技术社区者，即可免费获得Sun 公司的Java Studio Creator和Java Studio Enterprise的正式版。相关信息敬请拜访：gceclub.sun.com.cn/download.html。</P>
<P>　　Sun Java Studio Creator 是第一个用于创建纯 Java 标准兼容代码的可视化开发环境。使用 Sun Java Studio Creator 可快速、容易地构建安全、稳定、可伸缩的 Java 应用程序。Sun Java Studio Creator还是一个完整而强大的开发/调适/部署解决方案，它包括 Sun Java Sys-tem Application Server 8 平台版软件，该软件是Sun Java 企业系统软件中的一个组件，可用作一个目标开发和部署平台。此外，Java Studio Creator 还包括Java 2平台标准版软件开发工具集(J2SE SDK)。</P>
<P>　　而Sun Java Studio Enterprise 8则是一个强健可靠的企业开发平台，它跨越了整个开发生命周期：即构建、调试、测试、部署 Java 2 Platform Enterprise Edition (J2EE) 应用程序(包括门户组件和 Web 服务)并对其进行性能分析。Java Studio Enterprise 8 的优越性不仅体现在它是一个开发工具集，其令人震撼的功能以及提供的服务，更是大大简化了日益复杂的软件编程工作。 </P><img src ="http://www.blogjava.net/sunny/aggbug/26639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sunny/" target="_blank">随风逝</a> 2006-01-05 08:46 <a href="http://www.blogjava.net/sunny/archive/2006/01/05/26639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>