A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© NO? 中级黑马   /  2014-4-7 23:56  /  937 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;

  6. public class Test {
  7.         public static void main(String[] args) throws IOException {
  8.                 BufferedReader bm = new BufferedReader(new InputStreamReader(System.in));
  9.                 BufferedWriter bw=new BufferedWriter(new FileWriter("G://aa.java"));
  10.                 String string =null;
  11.                 while (true) {
  12.                          string = bm.readLine();
  13.                         System.out.println(string);
  14.                        
  15.                         if (string.equals("over")) {
  16.                                 break;
  17.                         }
  18.                         bw.write(string);
  19.                         bw.newLine();
  20.                         bw.flush();
  21.                         string=null;
  22.                 }
  23.                 bm.close();
  24.                 bw.close();

  25.         }
  26. }
复制代码
输入英文一点问题没有,可是一切换到英文的时候就不好使了,会无缘无故的冒出英文单词,
还有各种不能换行,等等问题,是不是代码有问题,还是解码的问题?请求指点。

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

8 个回复

倒序浏览
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘
回复 使用道具 举报
ς高眼光の目标 发表于 2014-4-8 04:59
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘

不会吧?难道是我的电脑出问题了?
回复 使用道具 举报
发错了。是切换到中文会出问题
回复 使用道具 举报
ς高眼光の目标 发表于 2014-4-8 04:59
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘

发错了,是却换到中文会出问题
回复 使用道具 举报
我觉得 是字符编码的问题。  你的eclipse 设置的问题  。   我电脑上有两个eclipse , 一个可以。 另一个和你的问题一样  , 你是这把BufferedReader 读到的字符串这样new String(str.getBytes("gbk"),"utf-8")转换一下 ,看看是什么
回复 使用道具 举报
这不属于代码的问题,应该算环境配置什么问题。我曾用Windows编写好的代码去linux运行,结果中文都是乱码。我的批注都是中文所以无法识别,这跟系统的环境相关。
回复 使用道具 举报
还有一个就是查看一下Tomcat中的字符集编码是否是设成了UTF-8,如果是还不成那就换个 "gbk" 或 "gb2312"在试试看看。
回复 使用道具 举报
这应该是eclipse的bug。
程序执行完第14行: System.out.println(string); 后, 控制台的光标位置应该在输出内容的下一行,但eclipse中光标却定位到了输出内容的最前端。英文输入时没影响,但在中文输入的时候会出现中英文混合的情况等问题。
解决方法:
当再次输入中文时可手动用方向键将光标移到下一行。
PS. 有时候在程序编写正确的情况下eclipse的控制台中会出现意想不到的现象,不要怀疑自己的代码,直接用windows自带的cmd 命令提示符编译运行下试试!
希望能够帮到你~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马