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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 chocolate 于 2012-1-5 20:12 编辑

import java.io.*;
public class myTest_18{
        public static void main(String []ars){
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                String s=new String("");
            //while(true){
            
                try{
                        PrintStream out=new PrintStream(new FileOutputStream("my.txt"));
                        s=br.readLine();
                        //if(s.equals("quit")){  //输入quit退出
                                //break;
                        //}
                        System.setOut(out);
                        System.out.println(s);
                }
                catch(FileNotFoundException e){
                        System.err.print("file not found");
                }
                catch(IOException e){
                        e.printStackTrace();
                }
          // }
        }
}


评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

4 个回复

倒序浏览
输入输出流都没有关闭。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
因为你的 PrintStream out=new PrintStream(new FileOutputStream("my.txt")); 是创建在循环里头的,你每输入一次的时候就重新创建了一次输出流,最后输入"quit"的时候就直接跳出了没有写入任何东西所以文件里头没东西
改1:PrintStream out=new PrintStream(new FileOutputStream("my.txt",true));
改2:把PrintStream out=new PrintStream(new FileOutputStream("my.txt"));定义到循环外面

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
我用myeclipse测试了一下,程序没有问题,可以正确运行。在键盘输入的内容都存到了my.txt文件中,你在存放MyTest_18.class的文件夹里找找。
另外 public class myTest_18 // 一般类名首字母大写 MyTest_18  
最后要有finally 关闭缓冲区。

评分

参与人数 2技术分 +2 收起 理由
admin + 1
吴上储 + 1

查看全部评分

回复 使用道具 举报
没有close()啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马