请写一个完整的Java程序,用文件读入输出方法将d盘下的test1.txt文件复制到e

108.请写一个完整的Java程序,用文件读入输出方法将d盘下的test1.txt文件复制到e盘下的test2.txt文件中。test1.txt文件中每行有一个字符串,格... 108. 请写一个完整的Java程序,用文件读入输出方法将d盘下的test1.txt文件复制到e盘下的test2.txt文件中。
test1.txt文件中每行有一个字符串,格式为:
姓名 性别 生日
如:
张三 男 19850104
李四 女 19840509
王五 女19880421
......
test2.txt文件中仅有一行文字,格式为:
姓名 生日
其中储存的是年龄最小的女生的姓名和生日。

这道题怎么写啊 求助求助~~~~
展开
 我来答
cc...2@126.com
2010-06-17 · TA获得超过429个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:259万
展开全部
题目有点看不懂,我理解是将test1中性别为女并且生日最小的学生姓名和生日存入test2

import java.util.*;
import java.io.*;
class Student
{
String name;
String sex;
String birthday;
}
public class Person
{
public static void main(String[] args)
{
FileInputStream fis=null;
Scanner sc=null;
FileWriter fw=null;
BufferedWriter bw=null;
try
{
fis=new FileInputStream("d:\\test1.txt");
sc=new Scanner(fis);
fw=new FileWriter("e:\\test2.txt");
bw=new BufferedWriter(fw);
List<Student> list=new ArrayList<Student>();
sc.nextLine();//读文件的第一行
while(sc.hasNext())
{
Student temp=new Student();
temp.name=sc.next();
temp.sex=sc.next();
temp.birthday=sc.next();
if(temp.sex.equals("女"))//只加性别为女的
{
list.add(temp);
}
}
Collections.sort(list, new Comparator<Student>()//按生日字符串的字典顺序排序,生日从小到大
{
public int compare(Student o1,Student o2)
{
return o1.birthday.compareTo(o2.birthday);
}
});
bw.write("姓名 生日");
bw.newLine();
for(int i=0;i<list.size();i++)
{
Student temp=list.get(i);
bw.write(temp.name+" "+temp.birthday);
bw.newLine();//输入换行符
Student temp1=list.get(i+1);
if(!temp.birthday.equals(temp1.birthday))//判断是否有生日相同的
{
break;
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
bw.close();//关闭流
fis.close();
sc.close();
fw.close();

}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式