java IO learning
javaѧϰ:³¹µ×Ã÷°×JavaµÄIOϵͳ
ÎÄÕÂÀ´Ô´£º»¥ÁªÍø
Ò»£® InputºÍOutput
1. stream´ú±íµÄÊÇÈκÎÓÐÄÜÁ¦²ú³öÊý¾ÝµÄÊý¾ÝÔ´£¬»òÊÇÈκÎÓÐÄÜÁ¦½ÓÊÕÊý¾ÝµÄ½ÓÊÕÔ´¡£ÔÚJavaµÄIOÖУ¬ËùÓеÄstream£¨°üÀ¨InputºÍOut stream£©¶¼°üÀ¨Á½ÖÖÀàÐÍ£º
1.1 ÒÔ×Ö½ÚΪµ¼ÏòµÄstream
ÒÔ×Ö½ÚΪµ¼ÏòµÄstream£¬±íʾÒÔ×Ö½ÚΪµ¥Î»´ÓstreamÖжÁÈ¡»òÍùstreamÖÐдÈëÐÅÏ¢¡£ÒÔ×Ö½ÚΪµ¼ÏòµÄstream°üÀ¨ÏÂÃ漸ÖÖÀàÐÍ£º
1) input¡¡stream£º
1) ByteArrayInputStream£º°ÑÄÚ´æÖеÄÒ»¸ö»º³åÇø×÷ΪInputStreamʹÓÃ
2) StringBufferInputStream£º°ÑÒ»¸öString¶ÔÏó×÷ΪInputStream
3) FileInputStream£º°ÑÒ»¸öÎļþ×÷ΪInputStream£¬ÊµÏÖ¶ÔÎļþµÄ¶ÁÈ¡²Ù×÷
4) PipedInputStream£ºÊµÏÖÁËpipeµÄ¸ÅÄÖ÷ÒªÔÚÏß³ÌÖÐʹÓÃ
5) SequenceInputStream£º°Ñ¶à¸öInputStreamºÏ²¢ÎªÒ»¸öInputStream
2) Out¡¡stream
1) ByteArrayOutputStream£º°ÑÐÅÏ¢´æÈëÄÚ´æÖеÄÒ»¸ö»º³åÇøÖÐ
2) FileOutputStream£º°ÑÐÅÏ¢´æÈëÎļþÖÐ
3) PipedOutputStream£ºÊµÏÖÁËpipeµÄ¸ÅÄÖ÷ÒªÔÚÏß³ÌÖÐʹÓÃ
4) SequenceOutputStream£º°Ñ¶à¸öOutStreamºÏ²¢ÎªÒ»¸öOutStream
1.2 ÒÔUnicode×Ö·ûΪµ¼ÏòµÄstream
ÒÔUnicode×Ö·ûΪµ¼ÏòµÄstream£¬±íʾÒÔUnicode×Ö·ûΪµ¥Î»´ÓstreamÖжÁÈ¡»òÍùstreamÖÐдÈëÐÅÏ¢¡£ÒÔUnicode×Ö·ûΪµ¼ÏòµÄstream°üÀ¨ÏÂÃ漸ÖÖÀàÐÍ£º
1) Input¡¡Stream
1) CharArrayReader£ºÓëByteArrayInputStream¶ÔÓ¦
2) StringReader£ºÓëStringBufferInputStream¶ÔÓ¦
3) FileReader£ºÓëFileInputStream¶ÔÓ¦
4) PipedReader£ºÓëPipedInputStream¶ÔÓ¦
2) Out¡¡Stream
1) CharArrayWrite£ºÓëByteArrayOutputStream¶ÔÓ¦
2) StringWrite£ºÎÞÓëÖ®¶ÔÓ¦µÄÒÔ×Ö½ÚΪµ¼ÏòµÄstream
3) FileWrite£ºÓëFileOutputStream¶ÔÓ¦
4) PipedWrite£ºÓëPipedOutputStream¶ÔÓ¦
ÒÔ×Ö·ûΪµ¼ÏòµÄstream»ù±¾É϶ÔÓÐÓëÖ®Ïà¶ÔÓ¦µÄÒÔ×Ö½ÚΪµ¼ÏòµÄstream¡£Á½¸ö¶ÔÓ¦ÀàʵÏֵŦÄÜÏàͬ£¬×ÖÊÇÔÚ²Ù×÷ʱµÄµ¼Ïò²»Í¬¡£ÈçCharArrayReader£ººÍByteArrayInputStreamµÄ×÷Óö¼ÊÇ°ÑÄÚ´æÖеÄÒ»¸ö»º³åÇø×÷ΪInputStreamʹÓã¬Ëù²»Í¬µÄÊÇÇ°Õßÿ´Î´ÓÄÚ´æÖжÁÈ¡Ò»¸ö×Ö½ÚµÄÐÅÏ¢£¬¶øºóÕßÿ´Î´ÓÄÚ´æÖжÁÈ¡Ò»¸ö×Ö·û¡£
1.3 Á½ÖÖ²»ÏÖµ¼ÏòµÄstreamÖ®¼äµÄת»»
InputStreamReaderºÍOutputStreamReader£º°ÑÒ»¸öÒÔ×Ö½ÚΪµ¼ÏòµÄstreamת»»³ÉÒ»¸öÒÔ×Ö·ûΪµ¼ÏòµÄstream¡£
2. streamÌí¼ÓÊôÐÔ
2.1 “ΪstreamÌí¼ÓÊôÐÔ”µÄ×÷ÓÃ
ÔËÓÃÉÏÃæ½éÉܵÄJavaÖвÙ×÷IOµÄAPI£¬ÎÒÃǾͿÉ
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔÇ°£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
½ñÌìһͬѧ×ö¶«Î÷ÒªÓÃÕâ¸ö¶«¶«,¾Í°ïËûдÁËÒ»¸ö,ÏÈת»¯³Éºó׺±í´ïʽ,È»ºóÔÙ
¼ÆËã.µ±È»Ò²¿ÉÒÔÖ±½Ó¼ÆËãÖÐ׺±í´ïʽ,¿¼Âǵ½Òª¶àλÊý,¾ÍûÄÇô×ö.
Ö§³Ö¶àλÊýµÄ´øÀ¨ºÅµÄÕûÊýµÄ¼Ó¼õ³Ë³ý.
Java
´úÂë
package
edu.jlu.fuliang;
import
java
.util.ArrayList;
import
......
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍ doubleÀàÐ͵ıäÁ¿ÍⶼÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌرðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£ÔÚµ±Ç°µ ......
ÕâÊÇ·þÎñ´°¿ÚÀ࣬ģÄâËĸöÏß³ÌÒì²½ÔËÐÐ
public class TicketWindow {
public static void main(String args[]) {
Ticket ticket = new Ticket();
Thread w1 = new Thread(ticket, "1ºÅÊÛƱ´°¿Ú");
Thread w2 = new Thread(ticket, "2ºÅÊÛƱ´°¿Ú");
Thread w3 ......