显示单独进程的输出时Java打印奇数符号

时间:2015-07-03 20:07:53

标签: java

当我打印出我开始的单独进程的输出时,我得到符号enter image description here。我感兴趣的代码:

in=(char)is.read();
        System.out.println((char)in);
        while (in != -1) {
           outputs[0]=outputs[0]+(char)in;
            in=(char)is.read();
            System.out.println((char)in);
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }

我的程序打印此错误的任何想法?如果我不将输出转换为char格式,我会得到:65535,它不是ASCII符号。

由于

1 个答案:

答案 0 :(得分:0)

根据InputStream.read()的Javadoc(假设这是is的类型,你没有说):

  

值字节作为int返回,范围为0到255.如果没有字节可用,因为已到达流的末尾,则返回值-1。

鉴于您继续将in投射到char,我猜测inint;将char分配给int表示您实际上正在撰写in = (int) (char) is.read()(int) (char) -1也是65535。