如何在用PrintWriter向文件中写数据时写一行换一行?

如标题所述,程序代码如下:
import java.io.*;
import java.util.*;
public class IOTest {

/**
* @param args
*/
public static void main(String[] args) throws FileNotFoundException {
Scanner in=new Scanner(new File("c:\\myfile.txt"));
PrintWriter out=new PrintWriter(new File("c:\\myfile_cp.txt"));
/*从myfile.txt中读取,然后写入到myfile_cp.txt中,
如何在out.write()处读一行,写一行,换一行?这里全都写到了一行
*/
while(in.hasNext()){
String str=in.next();
out.write(str);
out.flush();
out.close();
}
}

哪位大虾帮忙看看!小弟感激不尽!谢谢了!

}

out.write(str + "\n");

out.println();

谢谢大虾的回答,我试过,的确可以换行,但是如果一行中有空格的话,那么这行中的单词就分别被放在了多行,而不是原文件里的格式样子,请问一下如果要跟原文件保持得一模一样,这个怎么解决呢?再次表示感谢!

我看了API,Scanner这个类默认是以空格为分隔符的
[该贴被sihan100于2008-10-21 11:55修改过]

PrintWriter("\r\n");

我今天也碰到这个问题了。你用PrintWriter("\r\n");就可以了、