首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InputStreamReader抛出IOException

InputStreamReader抛出IOException
EN

Stack Overflow用户
提问于 2011-03-23 04:49:49
回答 3查看 1.8K关注 0票数 0

我正在尝试使用InputStreamReader来读取由我拥有的套接字发送的字节

代码语言:javascript
复制
InputStreamReader in = new InputStreamReader(socket.getInputStream());
in.read();

这将抛出一个IOException :(。我知道套接字应该发送一些东西,但它一直抛出错误。

EN

回答 3

Stack Overflow用户

发布于 2011-03-23 05:10:28

实际的错误消息和堆栈跟踪确实会很有用。

你可以尝试使用BufferedReader和readLine来确保你得到了一些东西。enter link description here

票数 0
EN

Stack Overflow用户

发布于 2011-03-23 05:15:24

代码语言:javascript
复制
import java.io.*;
import java.net.*;

public class EchoClient {
    public static void main(String[] args) throws IOException {

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket("taranis", 7);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis.");
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for "
                               + "the connection to: taranis.");
            System.exit(1);
        }

    BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));
    String userInput;

    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: " + in.readLine());
    }

    out.close();
    in.close();
    stdIn.close();
    echoSocket.close();
    }
}

找到here

票数 0
EN

Stack Overflow用户

发布于 2018-09-12 11:51:35

这是预期行为,IOException发出信号表示没有可读取的内容,很可能是套接字没有正确连接。此问题应结束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5397665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档