字符串或进行中文处理的 JAVA 源程序经编译后可以移值 到任何其它的操作系统中正确运行, 或拿到其它操作系统中编译后能正确运行, 能正确地传递中文和英文参数, 能正确地和数据库交流中英文字符串。 我们的具体思路是:在 JAVA 程序转码的入口和出口及 JAVA 程序同用户有输入输出转换的地方限制编码方 法使之正确即可。 具体解决办法如下: 1、 针对直接在 console 上运行的类 对于这种情况, 我们建议在程序编写时, 如果需要从用户端接收用户的可能含有中文的输入或含有中文的输 出,程序中应该采用字符流来处理输入和输出,具体来说,应用以下面向字符型节点流类型: 对文件:FileReader,FileWrieter 其字节型节点流类型为:FileInputStream,FileOutputStream 对内存(数组) :CharArrayReader,CharArrayWriter 其字节型节点流类型为:ByteArrayInputStream,ByteArrayOutputStream 对内存(字符串) :StringReader,StringWriter 对管道:PipedReader,PipedWriter 其字节型节点流类型为:PipedInputStream,PipedOutputStream 同时,应该用以下面向字符型处理流来处理输入和输出: BufferedWriter,BufferedReader 其字节型的处理流为:BufferedInputeStream,BufferedOutputStream InputStreamReader,OutputStreamWriter 其字节型的处理流为:DataInputStream,DataOutputStream 其中 InputStreamReader 和 InputStreamWriter 用于将字节流按照指定的字符编码集转换到字符流,如: InputStreamReader in = new InputStreamReader(System.in,"GB2312"); OutputStreamWriter out = new OutputStreamWriter (System.out,"GB2312"); 例如:采用如下的示例 JAVA 编码就达到了要求: //Read.java import java.io.*; public class Read { public static void main(String[] args) throws IOException { String