会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132382个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 3421楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 3422楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 3425楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 3426楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/XML 技术(旧) 3427楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 3431楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 3434楼

问题描述:老师在写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 基础深化和提高/网络编程(旧) 3435楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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