Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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µÄ×Ö·û´®³£ÓÃÀà

package com.tienway.util;
import java.util.ArrayList;
public class StringUtil
{

public static String ContextType1ToType2(String Type1Context)
{
if (Type1Context== null || Type1Context.length() == 0)
{
return "";
}
char[] c = Type1Con ......

Java»ù±¾ÀàÐÍ

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

JAVA ¶ÔÏóºÍÀà

String s = new Date().toString();¿ÉÒÔÖ±½Ó´´½¨ÍêжÔÏóºó¾ÍÁ¢¼´ÓÃÆäµÄ·½·¨¡£
Ò»¸ö¶ÔÏó±äÁ¿²¢Ã»ÓÐʵ¼Ê°üº¬Ò»¸ö¶ÔÏ󣬶øÊǽö½öÒýÓÃÒ»¸ö¶ÔÏó¡£
GregorianCalendarÀà
javaÉè¼ÆÕß¾ö¶¨°Ñ±£´æÊ±¼äÓë¸øÊ±¼äµãÃüÃû·Ö¿ªÀ´£¬ÕâÑù¾ÍÓÐÁ½¸öÀà,dateºÍGregorianCalendar.Ò»¸öÓÃÀ´±íʾʱ¼äµã£¬Ò»¸öÓÃÀ´±íʾ´ó¼ÒÊìϤµÄÈÕÀú±íʾ·¨¡£ÊÂ浃 ......

C++ÓëJava±È½Ï(ת)


C++ÓëJava±È½Ï(ת)
Ó¢ÎÄÔ­ÎÄ£ºhttp://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
¡¡¡¡È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒ ......

Óë Josh Bloch ̽ÌÖ Java δÀ´

×÷Õß




Josh Long




ÒëÕß

ËÎçâ

·¢²¼ÓÚ
2010Äê5ÔÂ5ÈÕ ÏÂÎç9ʱ7·Ö

Josh BlochÔÚSun¹«Ë¾¶àÄêΪJavaƽ̨×÷³öÁ˽ܳö¹±Ï×£¨Èç¹ûÄãÓùýJava
Collections¿ò¼Ü¾Í»áÁ˽âÕâÒ»µã£©£¬ÏÖÔÚGoogle¾ÍÖ°£¬ÊÇ»ñ½±Í¼Êé¡¶Effective ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ