mengmengyu_
2015-04-18 02:47
采纳率: 75%
浏览 3.3k
已采纳

InputStream 乱码问题

package ioliu;

import java.io.*;

public class TestInputStream {
public static void main(String[] args) throws Exception{
InputStream is = new FileInputStream("D:\xunlei\TestSocket.txt");//字节流
int ch;
ch = is.read();//从输入流中读取数据的下一个字节。
while(-1 != is.read())
{
System.out.printf("%c", ch);
ch = is.read();
is.close();

}

/*出现丢失,乱码

  • ipr aai.; motjv.e.;

ulccasTsSce

ulcsai odmi(tig]ag)trw xeto,IEcpin{
okts  e okt"2..."66)
OtuSra s=s.eOtuSra(;
aaupttemds=nwDtOtuSra(s;
o.rtUF"el,evr)/×?? §???
o.ls(;
o.ls(;
tcoe)

}
/
import java.io.
;
//这样能正确读出来,这是为什么
public class TestInputStream {
public static void main(String[] args) throws Exception{
InputStream is = new FileInputStream("D:\xunlei\TestSocket.txt");//字节流

//byte[] b=new byte[1000];     //创建合适文件大小的字节数组   
    is.read(b);    //读取文件中的内容到b[]数组   
    is.close();   
    System.out.println(new String(b));   
            }

}

/*

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

public class TestSocket {

public static void main(String[] args) throws Exception, IOException {
    Socket st = new Socket("127.0.0.1",6666);
    OutputStream os = st.getOutputStream();
    DataOutputStream dos = new DataOutputStream(os);
    dos.writeUTF("hello,server");//阻塞式 效率较低
    dos.flush();
    dos.close();
    st.close();
}

}
*/

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2015-04-18 02:52
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 大河行脚 2015-04-18 03:42

    你指定一下编码格式,比如UTF-8;

    如果回答对您有帮助,请采纳

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题