本人菜鸟,写入文件的内容如何实现换行?求各位大大帮忙

yzq_xiaoxian 2010-12-16 10:14:25
/*
*题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,

三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件

"stud "中。
**/
package com.cn.testquestion;

import java.io.*;
public class StudentGrate
{
public static void main(String args[])throws Exception
{
Student[] student={
new Student("10001","LiNing",88,99,68),
new Student("10002","LiLie",80,79,85),
new Student("10003","YunFei",88,90,67),
new Student("10004","ChunLi",55,91,73),
new Student("10005","ZhangSan",96,80,75)
};
/*
Student student1=new Student("10001","LiNing",88,99,68);
Student student2=new Student("10002","LiLie",80,79,85);
Student student3=new Student("10003","YunFei",88,90,67);
Student student4=new Student("10004","ChunLi",55,91,73);
Student student5=new Student("10005","ZhangSan",96,80,75);
*/

for(int i=0;i<student.length;i++)
{
new FileStudent(student[i]).toFileIn();

}

}
}

class Student
{
private String xuehao;
private String name;
private int shuxue;
private int yuwen;
private int yingyu;
private int average;

public Student(String xuehao,String name,int shuxue,int yuwen,int yingyu)
{
this.xuehao=xuehao;
this.name=name;
this.shuxue=shuxue;
this.yuwen=yuwen;
this.yingyu=yingyu;
this.average=(this.shuxue+this.yuwen+this.yingyu)/3;
}

public String toString()
{
return "学号:"+this.xuehao+" 姓名:"+this.name+" 数学成绩:"+this.shuxue+" 语文成绩:"+this.yuwen+" 英语成绩:"+this.yingyu+" 平均成绩:"+this.average+" === ";
}
}

class FileStudent
{
private static String str="";
private Student person;

public FileStudent(Object person)
{
this.person=(Student)person;
}

public void toFileIn()throws Exception
{
//String str="";
File file=new File("stud.txt");
if(!file.exists())
file.createNewFile();
//else
// System.out.println("文件已经存在。。。");

FileWriter fileto=new FileWriter(file);

str=str+person.toString();
fileto.write(str);
fileto.close();
}

}

这个是之前看到的一个题目自己试了下,能够打印到文件,但是不能换行。用过 /n 但没成功,不知道有没有别的办法实现。
...全文
136 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁匠梁老师 2010-12-16
  • 打赏
  • 举报
回复
bufferedwriter.newline();
yzq_xiaoxian 2010-12-16
  • 打赏
  • 举报
回复
/*
*题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,

三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件

"stud "中。
**/
package com.cn.testquestion;

import java.io.*;
public class StudentGrate
{
public static void main(String args[])throws Exception
{
Student[] student={
new Student("10001","LiNing",88,99,68),
new Student("10002","LiLie",80,79,85),
new Student("10003","YunFei",88,90,67),
new Student("10004","ChunLi",55,91,73),
new Student("10005","ZhangSan",96,80,75)
};
/*
Student student1=new Student("10001","LiNing",88,99,68);
Student student2=new Student("10002","LiLie",80,79,85);
Student student3=new Student("10003","YunFei",88,90,67);
Student student4=new Student("10004","ChunLi",55,91,73);
Student student5=new Student("10005","ZhangSan",96,80,75);
*/

for(int i=0;i<student.length;i++)
{
new FileStudent(student[i]).toFileIn();

}

}
}

class Student
{
private String xuehao;
private String name;
private int shuxue;
private int yuwen;
private int yingyu;
private int average;

public Student(String xuehao,String name,int shuxue,int yuwen,int yingyu)
{
this.xuehao=xuehao;
this.name=name;
this.shuxue=shuxue;
this.yuwen=yuwen;
this.yingyu=yingyu;
this.average=(this.shuxue+this.yuwen+this.yingyu)/3;
}

public String toString()
{
String nextline=System.getProperty("line.separator"); return "学号:"+this.xuehao+" 姓名:"+this.name+" 数学成绩:"+this.shuxue+" 语文成绩:"+this.yuwen+" 英语成绩:"+this.yingyu+" 平均成绩:"+this.average+nextline;
}
}

class FileStudent
{
private static String str="";
private Student person;

public FileStudent(Object person)
{
this.person=(Student)person;
}

public void toFileIn()throws Exception
{
//String str="";
File file=new File("stud.txt");
if(!file.exists())
file.createNewFile();
//else
// System.out.println("文件已经存在。。。");

FileWriter fileto=new FileWriter(file);

str=str+person.toString();
fileto.write(str);
fileto.close();
}

}

学到了,谢谢大家。用的是txt文档打开的,能够实现换行了。
yzq_xiaoxian 2010-12-16
  • 打赏
  • 举报
回复
恢复shaosijun2004
你说的那个我真的试了,真的不行
yzq_xiaoxian 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lei001 的回复:]
System.getProperty("line.separator") 取系统换行符的方法
[/Quote]
嗯,这个我试了,确实可以,谢谢了
S102361 2010-12-16
  • 打赏
  • 举报
回复
/n来换行,注意斜杠方向
shaosijun2004 2010-12-16
  • 打赏
  • 举报
回复
文本编辑器的话 就是\r\n
shaosijun2004 2010-12-16
  • 打赏
  • 举报
回复
你用的是 文本编辑器打开的吧……
茫茫大海 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lei001 的回复:]
System.getProperty("line.separator") 取系统换行符的方法
[/Quote]
对,就是这个!
shaosijun2004 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yzq_xiaoxian 的回复:]
引用 3 楼 shaosijun2004 的回复:
字符串最后加上\n
注意斜杠方向

这个依旧不行,我试过了
[/Quote]
不知道你是 怎么试的,我测试了可以换行才回复的
package test;

import java.io.*;
public class Test
{
public static void main(String args[])throws Exception
{
Student[] student={
new Student("10001","LiNing",88,99,68),
new Student("10002","LiLie",80,79,85),
new Student("10003","YunFei",88,90,67),
new Student("10004","ChunLi",55,91,73),
new Student("10005","ZhangSan",96,80,75)
};
/*
Student student1=new Student("10001","LiNing",88,99,68);
Student student2=new Student("10002","LiLie",80,79,85);
Student student3=new Student("10003","YunFei",88,90,67);
Student student4=new Student("10004","ChunLi",55,91,73);
Student student5=new Student("10005","ZhangSan",96,80,75);
*/

for(int i=0;i<student.length;i++)
{
new FileStudent(student[i]).toFileIn();

}

}
}

class Student
{
private String xuehao;
private String name;
private int shuxue;
private int yuwen;
private int yingyu;
private int average;

public Student(String xuehao,String name,int shuxue,int yuwen,int yingyu)
{
this.xuehao=xuehao;
this.name=name;
this.shuxue=shuxue;
this.yuwen=yuwen;
this.yingyu=yingyu;
this.average=(this.shuxue+this.yuwen+this.yingyu)/3;
}

public String toString()
{
return "学号:\n"+this.xuehao+" 姓名:\n"+this.name+" 数学成绩:\n"+this.shuxue+" 语文成绩:\n"+this.yuwen+" 英语成绩:"+this.yingyu+" 平均成绩:"+this.average+" === ";
}
}

class FileStudent
{
private static String str="";
private Student person;

public FileStudent(Object person)
{
this.person=(Student)person;
}

public void toFileIn()throws Exception
{
//String str="";
File file=new File("stud.txt");
if(!file.exists())
file.createNewFile();
//else
// System.out.println("文件已经存在。。。");

FileWriter fileto=new FileWriter(file);

str=str+person.toString();
fileto.write(str);
fileto.close();
}

}

这个是文件内容
学号:
10001 姓名:
LiNing 数学成绩:
88 语文成绩:
99 英语成绩:68 平均成绩:85 === 学号:
10002 姓名:
LiLie 数学成绩:
80 语文成绩:
79 英语成绩:85 平均成绩:81 === 学号:
10003 姓名:
YunFei 数学成绩:
88 语文成绩:
90 英语成绩:67 平均成绩:81 === 学号:
10004 姓名:
ChunLi 数学成绩:
55 语文成绩:
91 英语成绩:73 平均成绩:73 === 学号:
10005 姓名:
ZhangSan 数学成绩:
96 语文成绩:
80 英语成绩:75 平均成绩:83 ===

而且,貌似换行只有\n吧
yzq_xiaoxian 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shaosijun2004 的回复:]
字符串最后加上\n
注意斜杠方向
[/Quote]
这个依旧不行,我试过了
yzq_xiaoxian 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lei001 的回复:]
/r/n呢?
[/Quote]
不行啊
lei001 2010-12-16
  • 打赏
  • 举报
回复
System.getProperty("line.separator") 取系统换行符的方法
shaosijun2004 2010-12-16
  • 打赏
  • 举报
回复
字符串最后加上\n
注意斜杠方向
lei001 2010-12-16
  • 打赏
  • 举报
回复
/r/n呢?
lei001 2010-12-16
  • 打赏
  • 举报
回复
string里面加换行符呀

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧