黑马程序员技术交流社区
标题:
FileWriter换行
[打印本页]
作者:
刘泰
时间:
2012-4-4 22:12
标题:
FileWriter换行
public class Number
{
public static void main(String[] args)
{
FileWriter fw = null;
try {
fw = new FileWriter("D://text.txt",true);
fw.write("dgldkfjgljjjjj");
fw.write("\r\n");
fw.write("11111");
fw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
}finally{
try {
if(fw!=null)
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
写入时,在原文件的结尾写入,初始化对象的时候加入一个参数true。如fw = new FileWriter("D://text.txt",true);
文件的写入的时候,要求换行,用.writer("\t\n");为什么用writer("\n”)不行?
作者:
薛飞飞
时间:
2012-4-4 22:17
\n是 Linux上的换行,Windows只认\r\n
作者:
高铭
时间:
2012-4-4 22:42
/t/n 是windows系统是换行
/n只有在Linux系统中是换行
这个在毕老师视频上有讲
作者:
程旦
时间:
2012-4-4 23:57
楼主看视频不认真,老毕特意讲了这块。。。就是linux和windows的话 的问题
作者:
陈苓
时间:
2012-4-5 02:40
本帖最后由 格式化 于 2012-4-5 02:41 编辑
每个操作系统的的换行符都不一样,\n是 Linux上的换行,Windows只认\r\n 所以应该动态获取
public class FileWriterDemo2 {
/**
* @param args
* @throws IOException
*/
public static final String LINESEPARATOR = System.getProperty("line.separator");//获取不同系统中的换行符"
public static void main(String[] args) {
/*
* 想要完成对已有文件的续写。只要在构造函数中多加一个boolean类型的参数true即可。
*/
FileWriter fw = null;//在try外面创建流对象的引用,是可以让可以该引用作用范围变大。finally中可用。
try {
fw = new FileWriter("demo.txt",true);//在try中对流对象进行初始化。以方便捕获异常。
fw.write("xixii"+
LINESEPARATOR
+"heihei");
} catch (IOException e) {
System.out.println(e.toString()+".......");
}finally{
if(fw!=null)//如果流对象创建失败,关闭是无效,所以加入了健壮性判断。
try {
fw.close();//关闭资源一定要定义finally中,因为资源关闭动作一定要执行。
} catch (IOException e) {
e.printStackTrace();
}
}
}
作者:
李成
时间:
2012-4-5 02:46
windows用\r\n两个字符代表换行的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2