﻿<?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-BlackDead-文章分类-java技术</title><link>http://www.blogjava.net/BlackDead/category/4157.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 18:57:24 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 18:57:24 GMT</pubDate><ttl>60</ttl><item><title>总结</title><link>http://www.blogjava.net/BlackDead/articles/19218.html</link><dc:creator>blackdead - Life is sad</dc:creator><author>blackdead - Life is sad</author><pubDate>Thu, 10 Nov 2005 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/BlackDead/articles/19218.html</guid><wfw:comment>http://www.blogjava.net/BlackDead/comments/19218.html</wfw:comment><comments>http://www.blogjava.net/BlackDead/articles/19218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlackDead/comments/commentRss/19218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlackDead/services/trackbacks/19218.html</trackback:ping><description><![CDATA[<P>开始总结：<BR>1)&nbsp;&nbsp; keyword=(String)request.getParameter("keyword");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ◎form里提交的，例如&lt;input type＝"text"&nbsp; ....&gt;，如果value &nbsp; 为空，，那么keyword="";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ◎url后缀传递的，如果没有这个参数"keyword",,则&nbsp; keyword为null<BR><BR>试图对一个null变量（值变量，对象）做操作，，例如keyword.equals("a")<BR>会引发，，NullPointerException</P><img src ="http://www.blogjava.net/BlackDead/aggbug/19218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlackDead/" target="_blank">blackdead - Life is sad</a> 2005-11-10 21:39 <a href="http://www.blogjava.net/BlackDead/articles/19218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lesson:i/o: reading and writing(but no'rithmetic)</title><link>http://www.blogjava.net/BlackDead/articles/16869.html</link><dc:creator>blackdead - Life is sad</dc:creator><author>blackdead - Life is sad</author><pubDate>Wed, 26 Oct 2005 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/BlackDead/articles/16869.html</guid><wfw:comment>http://www.blogjava.net/BlackDead/comments/16869.html</wfw:comment><comments>http://www.blogjava.net/BlackDead/articles/16869.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlackDead/comments/commentRss/16869.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlackDead/services/trackbacks/16869.html</trackback:ping><description><![CDATA[<P><FONT size=1>一个程序经常需要从外部获取信息，或者向外部发送信息2005年10月26日。信息可以在任何地方：在一个文件中，在磁盘上，在网络上的某个地方，内存中，或者在另外一个程序中。&nbsp; 同时，信息可以是任何类型：对象，字符，图形，或者声音， 这一节包括了Java™ 平台中可以用来读写的类。<BR><BR><FONT size=5><FONT color=#006400>overview of&nbsp; i/o Streams<BR></FONT><FONT size=1>&nbsp;&nbsp;<BR>要得到信息，程序在源数据上打开一个流（文件，内存，socket），然后顺序读入数据，如下图所示：</FONT><BR></FONT>&nbsp; <BR><IMG height=108 alt=19stream.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/19stream.gif" width=438 border=0><BR><BR>同样，程序可以通过打开一个文件流向目标发送信息：<BR><IMG height=108 alt=20stream2.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/20stream2.gif" width=429 border=0></FONT></P>
<P><FONT size=1>无论数据来自哪里或者向哪发送，无论是何种类型，读写数据的规则是一样的：<BR>
<TABLE cellPadding=4>
<TBODY>
<TR>
<TD><STRONG>&nbsp;&nbsp;&nbsp;<FONT size=1> Reading</FONT></STRONG></TD>
<TD><STRONG><FONT size=1>&nbsp;Writing</FONT></STRONG></TD></TR>
<TR>
<TD><PRE><FONT size=1>open a stream
while more information
read information
close the stream
<BR><BR><BR><BR><BR></FONT></PRE></TD>
<TD><PRE><FONT size=1> open a stream
 while more information
 write information
 close the stream</FONT>
</PRE></TD></TR></TBODY></TABLE></FONT></P>
<P><FONT size=1>java.io.*包 文件流类的集合，支持这些读写的规则，。 使用这些类，程序需要import java.io.*。文件流类可以分为两个类层次，以所处理的数据类型（字符或字节）为基础。<BR><IMG height=194 alt=21chstream.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/21chstream.gif" width=263 border=0></FONT></P>
<P><FONT size=1>字符流<BR>Reader和Writer是java.io.包里面字符流的两个抽象类。 Reader类提供了readers--stream 读取16-bit字符的API和部分实现，，Writer提供了writers--streams 写入16-bit字符的api和部分实现。Reader和Writer的子类分为两类：从data sink中读写的类（黑色），和数据处理类（白色）<BR><IMG height=169 alt=23reader.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/23reader.gif" width=462 border=0><BR><IMG height=222 alt=24writer.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/24writer.gif" width=465 border=0><BR>大部分应用程序应该用reader和writer来读写文本信息。原因是他们可以处理Unicode中字符集<BR>总的任何字符，而字节流只能处理 iso-Latin-1 8-bit字节。&nbsp; <BR><BR>字节流<BR>&nbsp;&nbsp;&nbsp; 为了读写8-bit字节，程序应该使用字节流，InputStream和OutputStream的子类，InputStream和OutputStream提供了input streams(streams that read 8-bit bytes)，output streams(streams that write 8-bit bytes)的api和部分实现，这些流典型的用来读写二进制数据，像图像，声音。 其中字节流的两个类，ObjectInputStream,ObjectOutputStream用于对象的序列化，These classes are covered in </FONT><A href="http://java.sun.com/docs/books/tutorial/essential/io/serialization.html"><FONT size=1>Object Serialization</FONT></A><BR>&nbsp;<FONT size=1>&nbsp;&nbsp; 就像Reader和Writer类，，InputStream和OutputStream的子类也分为两类，数据接收流（阴影）和数据处理流<BR><IMG height=199 alt=25inputs.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/25inputs.gif" width=462 border=0><BR><IMG height=142 alt=26outputs.gif src="http://www.blogjava.net/images/blogjava_net/blackdead/io_stream/26outputs.gif" width=458 border=0><BR>理解&nbsp; i/o 超类<BR>Reader和InputStream定义了相似的APIs,,只是针对的data type不同。例如，Reader 包含了以下读取字符和字符数组的方法：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int read()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int read(char cbuf[])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;read(char cbuf[], int offset,int length)<BR>InputStream 定义了相同的方法，用来读取字节和字节数组<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int read()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int read(char cbuf[])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp;read(char cbuf[], int offset,int length)<BR>同样的，Reader和InputStream提供一些相似的方法，例如在流中作标记，skipping input，重置当前position。<BR><BR>Writer和OutputStream也是相似的：<BR></FONT></P>
<BLOCKQUOTE><PRE><FONT size=1>int write(int c)
int write(char cbuf[])
int write(char cbuf[], int offset, int length)
</FONT></PRE></BLOCKQUOTE>
<P><FONT size=1>And <CODE>OutputStream</CODE> defines the same methods but for bytes: </FONT></P>
<BLOCKQUOTE><PRE><FONT size=1>int write(int c)
int write(byte cbuf[])
int write(byte cbuf[], int offset, int length)<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR></FONT></PRE></BLOCKQUOTE><BR><BR>
<P><FONT size=1>所有这些流,readers, writers, input streams, and output streams---在创建的时候自动打开，可以调用他们的<BR>关闭方法关闭他们，或者党对象不再使用时由垃圾回收机制回收。</FONT></P><img src ="http://www.blogjava.net/BlackDead/aggbug/16869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlackDead/" target="_blank">blackdead - Life is sad</a> 2005-10-26 15:27 <a href="http://www.blogjava.net/BlackDead/articles/16869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>some points</title><link>http://www.blogjava.net/BlackDead/articles/16844.html</link><dc:creator>blackdead - Life is sad</dc:creator><author>blackdead - Life is sad</author><pubDate>Wed, 26 Oct 2005 02:42:00 GMT</pubDate><guid>http://www.blogjava.net/BlackDead/articles/16844.html</guid><wfw:comment>http://www.blogjava.net/BlackDead/comments/16844.html</wfw:comment><comments>http://www.blogjava.net/BlackDead/articles/16844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/BlackDead/comments/commentRss/16844.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/BlackDead/services/trackbacks/16844.html</trackback:ping><description><![CDATA[<DIV class=postText>java:&nbsp;-base knowledge<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |-network programming&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |-jmf<BR><BR>struts:<BR>hibernate <BR>mysql<BR>oralce<BR></DIV><img src ="http://www.blogjava.net/BlackDead/aggbug/16844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/BlackDead/" target="_blank">blackdead - Life is sad</a> 2005-10-26 10:42 <a href="http://www.blogjava.net/BlackDead/articles/16844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>