Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java 7ÐÂI/OÌØÐÔ½âÎö


Java 7ÌṩÁËÒ»¸öÐÂAPI·ÃÎÊÎļþϵͳ£¬µ«³ý´ËÖ®Í⣬JSR 203(NIO.2)»¹°üº¬ÆäËüºÜ¶àÐÂÌØÐÔ£¬Õâ¸öа汾µÄÈ·ÐÂÔöÁ˺ܶà¸ÄÉÆI/O±à³ÌµÄÀ࣬±¾ÎĽ«»á½éÉÜÏÂÃæµÄÐÂÌØÐÔ£º
· SeekableByteChannel£ºËæ»ú·ÃÎÊͨµÀ;
· MulticastChannel£ºÔÊÐíIP¶à²¥µÄͨµÀ;
· NetworkChannel£ºÐµÄÍøÂçͨµÀ³¬¼¶½Ó¿Ú;
· Òì²½I/O API£ºÐµÄAPIʹI/O²Ù×÷¿ÉÒÔÒì²½½øÐС£
SeekableByteChannel
Ê×ÏÈ£¬Java 7°üÀ¨ÐµÄByteChannel – SeekableByteChannel£¬Õâ¸öͨµÀά»¤µ±Ç°µÄλÖã¬Äã¿ÉÒÔ¶Áд¸ÃλÖ㬲¢ÔÊÐíËæ»ú·ÃÎÊ¡£Ê¹ÓÃÕâ¸öÀàÐ͵ÄͨµÀ£¬Äã¿ÉÒÔÌí¼Ó¶à¸öÏ̶߳Á/дÔÚ ²»Í¬Î»ÖÃÏàͬµÄÏ̡߳£
 
SeekableByteChannel channel1 = Paths.get("Path to file").newByteChannel();//Simply READ
SeekableByteChannel channel2 = Paths.get("Path to file").newByteChannel(StandardOpenOption.READ, StandardOpenOption.WRITE);//READ and WRITE
Äã¿É ÒÔʹÓÃÏÂÃæÕâЩ·½·¨²Ù×÷λÖúÍͨµÀµÄ´óС¡£
· long position()£º·µ»ØÄ¿Ç°µÄλÖÃ;
· long size()£º·µ»ØÍ¨µÀÁ¬½ÓʵÌåµÄµ±Ç°´óС£¬ÈçͨµÀÁ¬½ÓµÄÎļþ´óС;
· position(long newPosition)£ºÒƶ¯µ±Ç°Î»Öõ½Ä³¸öµØ·½;
· truncate(long size)£º¸ù¾Ý¸ø¶¨´óС½Ø¶ÏʵÌå¡£
position()ºÍtruncate()·½·¨¼òµ¥µØ·µ»Øµ±Ç°Í¨µÀ£¬ÔÊÐíÁ´Ê½µ÷Óá£
ÏÖÔÚFileChannelʵÏÖÁËеĽӿڣ¬Ê¹ ÓÃËùÓÐFileChannelÄã¶¼¿ÉÒÔʵÏÖËæ»ú·ÃÎÊ£¬µ±È»Äã¿ÉÒÔÓÃËü¶Áȡһ¸öÎļþ£º
 
SeekableByteChannel channel = null;
try {
channel = Paths.get("Path to file").newByteChannel(StandardOpenOption.READ);
ByteBuffer buf = ByteBuffer.allocate(4096);
System.out.println("File size: " + channel.size());
String encoding = System.getProperty("file.encoding");
while (channel.read(buf) > 0) {
buf.rewind();
byte[] bytearr = new byte[bytebuff.remaining()];
buf.get(bytearray);
System.out.print(new String(bytearray));
buf.flip();
System.out.println("Current position : " + channel.position());
}
} catch (IOException e) {
System.out.println("Expection when reading : " + e.g


Ïà¹ØÎĵµ£º

¡¶JavaÓëģʽ¡·Ñ¡¶Á¡°Ô­Ê¼Ä£ÐÍ£¨Prototype£©Ä£Ê½¡±

Õâ±¾ÊéÏêϸ½²½âÁËģʽÀíÂÛµÄÓÉÀ´£¨ºÜ¶àÈË¿ÉÄܲ»ÖªµÀģʽÀíÂÛÓëÖйúµÀ¼Ò˼ÏëµÄÔ¨Ô´£©£¬ÃæÏò¶ÔÏóµÄÈí¼þÉè¼ÆÔ­Ôò£¬Ò»Ö±½²µ½¶þÊ®¼¸¸öÉè¼ÆÄ£Ê½£¬ÒÔ¼°ÕâЩģʽÔÚJavaÓïÑÔÖеÄʵÏֵȵȡ£ÊéÖиø³öÁË´óÁ¿À´×Ô»ª¶û½ÖϵͳµÄÕæÊµÏîÄ¿µÄÀý×Ó£¬ÓÃÀ´½²½âÉè¼ÆÄ£Ê½ÔÚϵͳÉè¼ÆÖеÄÓ¦ÓᣠÕâ±¾Êé´¦ÓÚÀíÂÛºÍʵ¼ùÖ®¼ä£¬ÊÇÒ»±¾¶¨Î»¶ÀÌØ¡¢·ç¸ñ¶ÀÌØµ ......

JavaÀàÐÞÊηûºÍ³ÉÔ±±äÁ¿¡¢º¯ÊýÐÞÊηûÓë·ÃÎÊȨÏÞ

1¡¢JavaÐÞÊηû Java           ·ÃÎÊȨÏÞ\
Àà³ÉÔ±±äÁ¿¡¢º¯ÊýÐÞÊηû ±¾Àà Î޼̳йØÏµ
ͬһ°ü Î޼̳йØÏµ
²»Í¬°ü ¼Ì³Ð¹ØÏµ£¨×ÓÀࣩ
ͬһ°ü ¼Ì ......

Java»ù±¾ÀàÐÍ

from
http://hi.baidu.com/18276393/blog/item/f6efc9d77ee7bc2806088b61.html
Ô­ÎÄ
»ù±¾ÀàÐÍ£¬»òÕß½Ð×öÄÚÖÃÀàÐÍ£¬ÊÇJAVA
ÖÐ
²»Í¬ÓÚÀàµÄÌØÊâÀàÐÍ¡£ËüÃÇÊÇÎÒÃDZà³ÌÖÐʹÓÃ×îÆµ·±µÄÀàÐÍ£¬Òò´ËÃæÊÔ
ÌâÖÐÒ²×ÜÉÙ²»ÁËËü
ÃǵÄÉíÓ°£¬ÔÚÕâÆªÎÄÕÂÖÐÎÒÃǽ«´ÓÃæÊÔÖг£¿¼µÄ¼¸¸ö·½ÃæÀ´»Ø¹ËÒ»ÏÂÓë»ù±¾ÀàÐÍÏà¹ØµÄ֪ʶ¡£
»ù±¾ÀàÐ͹²Ó ......

Java¾²Ì¬´úÂë¼ì²é¹¤¾ß±Ê¼Ç

code review ¹¤¾ßÁбí
1.´úÂë¸ñʽ¼ì²écheckstyle;
2.ÐÔÄܰ²È«×î¼Ñʵ¼ù¼ì²éRAD Software AnalyzerºÍFindBug;
3.ÒÀÀµ¼ì²éJDepend;
4.ÖØ¸´ÐÔ¼ì²éeclipse PMD²å¼þ;
5.¸´ÔӶȼì²éeclipse Metrics²å¼þ;
6.Э×÷¹¤¾ßJupiter
 
Jupiter
1.Unset±íʾûÓÐÑ¡Ôñ£¬¶ø²»ÊÇÒ»¸ö¾ßÌåÀàÐÍ
2.Èý¸ö½×¶ÎÓÐĬÈϵÄFilterÌõ¼þ£ ......

ÿ¸öÏîÄ¿ÖУ¬Äã²»µÃ²»ÖªµÄ11¸öJavaµÚÈý·½Àà¿â

µ¥Ôª²âÊÔ
1.
DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд³öƯÁÁµÄ²âÊÔ¡£
3.Hamcrest Matchers
Hamcrest ÊÇÒ»¸ö²âÊÔ¸¨Öú¹¤¾ß£¬ÌṩÁËÒ»Ì×ͨÓÃµÄÆ¥Åä·û Matcher£¬Áé»îʹÓÃÕâÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ