会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132441个问题
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35852楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35853楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 35854楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 35855楼

问题描述:老师在写Send类的时候,键盘输入流选择的是BufferedReader,我改成DataInputStream,就没有反应,请问为什么这个地方不能使用数据流呢?


老师的代码如下:

package chatroom01;

import java.io.*;
import java.net.Socket;

public class Send implements Runnable {
    private boolean flag = true;
    private BufferedReader br;
    private DataOutputStream dos;
    public Send(Socket socket){

        try {
            br = new BufferedReader(new InputStreamReader(System.in));
            dos = new DataOutputStream(socket.getOutputStream());
        } catch (IOException e) {
            flag = false;
            CloseUtil.closeAll(socket);
        }
    }

    private String getMessage(){
        String str = "";
        try {
            str = br.readLine();
        } catch (IOException e) {
            flag = false;
            CloseUtil.closeAll(br);
        }
        return str;
    }

    private void send(String str){
        try {
            dos.writeUTF(str);
            dos.flush();
        } catch (IOException e) {
            flag = false;
            CloseUtil.closeAll(dos);
        }
    }
    @Override
    public void run() {
        while (flag){
            this.send(getMessage());
        }
    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 35856楼
JAVA 全系列/(旧的隐藏)第十一阶段:spring全家桶(Spring Boot)/Spring Boot 35858楼
JAVA 全系列/(旧的隐藏)第七阶段:JAVA 高级技术/MongoDB 35862楼
JAVA 全系列/第四阶段:网页编程和设计/HTML5(旧) 35863楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637