JavaÍøÂç±à³Ì³õ²½
JavaÍøÂç±à³Ì³õ²½
Kagula
2009-11-23
¹Ø¼ü´Ê
Java Socket DataInputStream DataOutputStream
¸ÅÒª
ʹÓÃJavaͬ²½IOÓ¦ÓóÌÐò¿â£¬ÊµÏÖCS½á¹¹ÍøÂç±à³Ì¡£
ÕýÎÄ
ʹÓÃSocketÀ´½¨Á¢ÍøÂçÁ¬½Ó£¬Ê¹ÓÃDataInputStream¡¢DataOutputStreamÀ´´æÈ¡ÍøÂçÁ÷¡£
¿Í»§¶Ë²¿·Ý
µÚÒ»²½£º½¨Á¢ÍøÂçÁ¬½Ó¶ÔÏ󣬺ÍÍøÂçÁ÷ÊäÈëÊä³ö¶ÔÏó
Socket c = new Socket(InetAddress.getByName("192.168.0.144"),6009);
dis = new DataInputStream(c.getInputStream());
dos = new DataOutputStream(c.getOutputStream());
µÚ¶þ²½£º¶ÁÐ´ÍøÂçÁ÷
д×Ö·û´®ÓÃÏÂÃæµÄ´úÂë
dos.writeUTF(list.get(i).toString());
dos.flush();
д¶þ½øÖÆÊý¾Ý²ÉÓÃÏÂÃæµÄ´úÂë
//byte[] b = new byte[nnL];
dos.write(b,0,nnL);
dos.flush();
ÕâÀïҪעÒâµÄÊÇwriteº¯ÊýµÄµÚ¶þ¸ö²ÎÊý£¬Ö¸µÄÊÇ»º´æÇøÆðʼλÖã¬nnLÖ¸µÄÊÇ»º´æÇøÖÐÊý¾ÝµÄ³¤¶È¡£b»º´æµÄ´óС½¨ÒéΪ1KB£¬¹ý´ó»áµ¼Ö²¿·ÝÊý¾Ý·¢ËͳöÈ¥ÁË£¬µ«ÊǽÓÊÕµ½Ã»ÓÐÊÕµ½ÓÐЧµÄÊý¾Ý¡£
¶Á×Ö·û´®ÓÃÏÂÃæµÄ´úÂë
String sR = dis.readUTF();
¶Á¶þ½øÖÆÊý¾ÝÓÃÏÂÃæµÄ´úÂë
Dis.read(b,0,nnL);
ÕâÀïÐèҪעÒ⣬·¢ËͶËͬ½ÓÊÕ¶ËÖ®¼ä£¬ÍøÂçÁ÷´æÈ¡º¯ÊýҪƥÅ䣬Êý¾Ý³¤¶ÈҲҪƥÅ䣬·ñÔò»á×èÈû¡£
µÚÈý²½£º¹Ø±ÕÁ¬½Ó¡£´úÂëÈçÏÂ
Dis.close();
Dos.close();
C.close();
·þÎñ¶Ë²¿·Ý
µÚÒ»²½£º½¨Á¢ServerSocket¶ÔÏ󣬵õ½¿Í»§¶ËµÄÁ¬½ÓÇëÇ󣬴úÂëÈçÏ£º
ServerSocket server = new ServerSocket(listenPort);
Socket incomingConnection = null;
while(true) {
incomingConnection = server.accept();
incomingConnection.setSoTimeout(9*60*1000);
handleConnection(incomingConnection);
}
ÆäÖУ¬listenPortÊÇÕìÌý¶Ë¿ÚΪÕûÐÍ¡£¿Í»§Í¬·¢ËÍÇëÇóºó£¬·þÎñ¶ËºÍ¿Í»§¶Ë½¨Á¢Á¬½Ó£¬server.accept·µ»Øsocket¡£
ÀûÓÃsocket£¬µÃµ½¶ÁÐ´ÍøÂçÁ÷Êý¾ÝµÄ¶ÔÏ󣬯äËüͬ¿Í»§¶ËµÄ±à³Ì·½Ê½¡£ÔÚÍê³É¶ÁдºóÄãÒ²ÐèÒªµ÷ÓÃsocketʵÀýµÄcloseº¯Êý£¬¶Ï¿ªÍ¬¿Í»§¶ËµÄÁ¬½Ó¡£SocketʵÀýµÄsetSoTimeoutÉèÖ㬱£Ö¤ÔÚ¾ÅÃëºó×Ô¶¯¹Ø±Õͬ¿Í»§¶ËµÄÁ¬½Ó¡£
×ܽ᣺
Ïà±ÈC++£¬JavaÌṩµÄAPI·Ç³£ÈÝÒ×ʹÓᣵ«ÊÇҲҪעÒ⼸¸öÎÊÌâ¡£[1]·þÎñ¶ËºÍ¿Í»§¶ËµÄ¶Áдº¯Êý±ØÐëҪƥÅä¡£[2]·þÎñ¶Ëͬ¿Í»§¶ËÖ®¼ä¶
Ïà¹ØÎĵµ£º
±¾Ê¾Àý´ÓÍøÉÏÏÂÔØÒ»±¾Ð¡Ëµ£¬²¢±£´æÎª UTF-8 ¸ñʽ¡£
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
......
fm.split("["); // error
-------------------
java.util.regex.PatternSyntaxException: Unclosed character class near index 0[+
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.clazz(Unknown Source)
& ......
//1.±àдһ¸ö³ÌÐò£¬¸Ã³ÌÐò¿É¶ÁÈëÒ»¸öÍⲿÎļþ£¬²¢½«ÎļþÄÚÈݸ³Öµ¸øÒ»¸ö×Ö·û´®
package Zhangyiwei
import java.io.*;
public class Zhangyiwei {
public static String filename = "c:\\1.txt";
public static void main(String[] args) throws FileNotFoundException, IO ......