会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132390个问题
JAVA 全系列/第六阶段:项目管理与SSM框架/RBAC实战 10607楼

image.png


Python 全系列/第十阶段:Flask百战电商后台项目/Flask百战电商后台项目 10610楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 10611楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 10612楼
人工智能/第七阶段:机器学习-无监督学习/KMeans聚类 10614楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 10615楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 10616楼

问题描述:老师在写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 基础深化和提高/网络编程(旧) 10617楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于json数据格式完成商品规格参数模板管理 10619楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础 10620楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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