黑马程序员技术交流社区

标题: 网络编程 [打印本页]

作者: 王广彬    时间: 2012-8-30 21:54
标题: 网络编程
public class SendThread implements Runnable {

        private DatagramSocket ds;

        public SendThread(DatagramSocket ds) {
                this.ds = ds;
        }

        @Override
        public void run() {
                // 创建UDP发送端的服务
                try {
                        // 把键盘录入数据用高效缓冲流封装
                        BufferedReader br = new BufferedReader(new InputStreamReader(
                                        System.in));

                        String line = null;
                        while ((line = br.readLine()) != null) {
                                if ("886".equals(line)) {
                                        break;
                                }
                                byte[] bys = line.getBytes();
                                // 数据包
                                DatagramPacket dp = new DatagramPacket(bys, bys.length,
                                                InetAddress.getByName("192.168.1.255"), 12345);
                                // 发送数据
                                ds.send(dp);
                        }

                        // 关闭资源
                        ds.close();
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }
}
输入流br为什么不用关闭啊?
作者: 周兴华    时间: 2012-8-30 22:07
还是要关闭的吧,有创建流,最终都得关闭掉,不然占资源。
作者: 郑义    时间: 2012-9-1 08:43
需要关闭输入流。
DatagramSocket ds和BufferedReader br都需要关闭。
作者: AngieFans85    时间: 2012-9-1 13:17
输入流也是调用了操作系统的底层资源,必须要关闭.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2