去看一看另一个贴子:如何学习Java的IO.

解决方案 »

  1.   

    我在用RMI时也出现这种情况
    提示一示吧
      

  2.   

    你的SERVER是UNIX或LINUX吧?可能要字符转换
      

  3.   

    本段摘自水木清华BBS,上面还有许多相关内容,可以参考.我在做JSP时用getByte方法取得满意的效果.要理解Java的中文问题,我觉得掌握两点就可以了
       1. Java字符串在内存中,只有一种编码---unicode
       2. 字符串输入时,将源编码转换为unicode;
          字符串输出时,将unicode转换成目标编码要想这个机制完满运行,Java程序必须知道你输入的东西
    是什么编码方式,才能完成输入转换;还必须知道哪种
    编码方式符合您的要求,才能完成输出转换。一个字,难啦
    解决方案:
            1、你可以明确地告诉java程序:那个谁谁谁,我想
    用这种编码输入,我想用那种编码输出。
               设置encoding、设置response的contentType属于
    这种方案。
            2、Java一般根据系统时区来判断你使用的什么编码,
               我们可以把我们的时区调节过来,糊弄Java。
            3、有一类比较土的Java程序,只认某一种编码。
               没办法,这种情况下,我们只好用getBytes来转换
      

  4.   

    ////希望对你有用
    import java.io.*; 
    import java.net.*; 
    import java.awt.*; public class showfile2 {      public showfile2(){
        }
         
        public static void main(String args[]){ 
            InputStream filecon = null; 
            DataInputStream filedata = null; 
            String fileline; 
            String url = "http://www.sohu.com/"; 
            URL fileur;         try { 
                    fileur = new URL(url); 
                    filecon = fileur.openStream(); 
                    filedata = new DataInputStream(filecon); 
                    while ((fileline = filedata.readLine()) != null) { 
                        byte b[]=fileline.getBytes("ISO8859_1");//希望对你有用
                        System.out.println(new String(b,"GB2312")); //希望对你有用
                    } 
     } catch (IOException e) { 
                   System.out.println("Error in I/O:"); 
             } } }