黑马程序员技术交流社区

标题: io问题 [打印本页]

作者: 郑强强    时间: 2012-4-10 17:41
标题: io问题
import java.io.*;
public class myTest{
        public static void main(String []args){
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                String s=new String("");
            //while(true){
            
                try{
                        PrintStream out=new PrintStream(new FileOutputStream("my.txt"));
                        str=br.readLiine();
                        System.setOut(out);
                        System.out.println(str);
                }
                catch(FileNotFoundException e){
                        System.err.print("file not found");
                }
                catch(IOException e){
                        e.printStackTrace();
                }
          
        }
}

我想循环向指定文件输入信息,可是运行完之后指定文件里什么也没有!当注释掉while的时候却能输入一行信息!哪位兄弟姐妹可以指点一下啊



作者: 曾晓文    时间: 2012-4-10 17:59
你每一次循环都新建了一个同名的文件my.txt,把上一次的文件给替换了,并且最后一次替换完文件,文件时空的写到数据没有刷到内存,所以硬盘上的文件没有数据。应该写成这样PrintStream out=new PrintStream(new FileOutputStream("my.txt"),true);或者把PrintStream out=new PrintStream(new FileOutputStream("my.txt"));写到while循环外部。建议写到while循环外,避免重复创建文件流对象。

作者: 李华    时间: 2012-4-10 21:56
路过。。。7




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2