java文件输出换行问题。
我想把程序处理的数据输出到文件中,而且是一行一个数据,比如:张三男十岁但是我在输出流中用\n不行,用\r\n也不行(文本文档),但是用\n输入到word文档里就可以实现换...
我想把程序处理的数据输出到文件中,而且是一行一个数据,比如:
张三
男
十岁
但是我在输出流中用\n不行,用\r\n也不行(文本文档),但是用\n输入到word文档里就可以实现换行。但是我又想能从文件中讲内容读入程序,但是我的程序实现不了。
现在我有两个问题:1.怎么在文本文档里实现换行。
这是输出代码
public void output(){
DataOutputStream d;
try{
d=new DataOutputStream(new FileOutputStream("data.txt"));
for(int i=0;i<list.size();i++){
d.writeChars((list.get(i)).getname()+"\n");
d.writeChars((list.get(i)).getsex()+"\n");
d.writeChars((list.get(i)).gettel()+"\n");
d.writeChars((list.get(i)).getqq()+"\n");
}
d.close();
2.给你看我的代码,功能是从文件读入数据,转换成对象,放入集合类中,对其操作。
这是输入程序
public void input(){
String str;
Person person;
try{
BufferedReader b=new BufferedReader(new FileReader("data.txt"));
while(b.readLine()!=null){
person=new Person();
str=b.readLine();
person.setname(str.trim());
str=b.readLine();
person.setsex(str.trim());
str=b.readLine();
person.settel(str.trim());
str=b.readLine();
person.setqq(str.trim());
list.add(person);
}
b.close(); 展开
张三
男
十岁
但是我在输出流中用\n不行,用\r\n也不行(文本文档),但是用\n输入到word文档里就可以实现换行。但是我又想能从文件中讲内容读入程序,但是我的程序实现不了。
现在我有两个问题:1.怎么在文本文档里实现换行。
这是输出代码
public void output(){
DataOutputStream d;
try{
d=new DataOutputStream(new FileOutputStream("data.txt"));
for(int i=0;i<list.size();i++){
d.writeChars((list.get(i)).getname()+"\n");
d.writeChars((list.get(i)).getsex()+"\n");
d.writeChars((list.get(i)).gettel()+"\n");
d.writeChars((list.get(i)).getqq()+"\n");
}
d.close();
2.给你看我的代码,功能是从文件读入数据,转换成对象,放入集合类中,对其操作。
这是输入程序
public void input(){
String str;
Person person;
try{
BufferedReader b=new BufferedReader(new FileReader("data.txt"));
while(b.readLine()!=null){
person=new Person();
str=b.readLine();
person.setname(str.trim());
str=b.readLine();
person.setsex(str.trim());
str=b.readLine();
person.settel(str.trim());
str=b.readLine();
person.setqq(str.trim());
list.add(person);
}
b.close(); 展开
3个回答
展开全部
文件读取的话,如果是用read方法(字节流)读取的就很难区分换行,建议可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
展开全部
用这个吧,大概的代码。肯定可以换行的
PrintWriter pw=new PrintWriter((new FileOutputStream(new File("data.txt"))));
for(int i=0;i<list.size();i++){
pw.println((list.get(i)).getname());
pw.println((list.get(i)).getsex());
pw.println((list.get(i)).gettel());
pw.println((list.get(i)).getqq());
}
PrintWriter pw=new PrintWriter((new FileOutputStream(new File("data.txt"))));
for(int i=0;i<list.size();i++){
pw.println((list.get(i)).getname());
pw.println((list.get(i)).getsex());
pw.println((list.get(i)).gettel());
pw.println((list.get(i)).getqq());
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bfout.newLine() 方法 == "\n" 等价
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询