格式化输入输出和流的应用

格式化输入输出

  Streasm/Reader/Scanner

 

 

 流的应用

try {
    Socket socket = new Socket(InetAddress.getByName("localhost"), 12345);
    PrintWriter out = new PrintWriter(
            new BufferedWriter(
                    new OutputStreamWriter(
                            socket.getOutputStream())));
        out.println("hello");
        out.close();
        socket.close();
} catch (IOException e) {
    e.printStackTrace();
}

 

阻塞/非阻塞

read()函数是阻塞的,在读到所需的内容之前会停下来等

使用read()的更"高级"的函数,如nextInt()、readLine()都是这样的

所以常用单独的线程来做socket读的等待,或使用nio的channel选择机制

对于socket,可以设置SO时间setSoTimeout(int timeOut)

 

posted @ 2022-06-23 20:33  漁夫  阅读(28)  评论(0)    收藏  举报