问题描述
历次考试成绩格式为Excel格式,共有三列数据:邮件地址、姓名、成绩。为了简化代码实现,在统计时,会先将Excel格式的成绩单“另存为”保存类型为“文本文件(制表符分隔)(*.txt)”格式的文件,文件名称格式为“yyyymm.txt”(即:4位年份2位月分.txt),作为程序的输入文件进行读取、合并操作。输入文件保存在c:testsrc文件夹下,此文件夹下不会有其它文件。在汇总处理之前,我们会检查此文件夹下的输入文件,确保文件名符合输入要求。在读取文件进行处理的过程中,如果遇到非法的数据,可以直接跳过当前人员的成绩,继续处理其它数据。同时,需要将错误发生的源文件名,错误发生的行数,及所在行内容记录在日志文件c:testtest.log文件中。记录信息为“数据错误:yyyymm.txt第N行。”。其中,yyyymm.txt、N分别为实际的文件名与行数。合并后文件格式仍为文本文件,前两列为:邮件地址、姓名,从第三列开始,按考试日期先后顺序逐一列出每次考试的成绩,如果某次考试缺考,则成绩以“--”代替。合并后文件名称为“result.txt”,保存在c:test文件夹下。为便于后续做进一步检索与处理,输入文件格式需要严格符合下面的要求:1)不需要有表头列,从文件第一行开始即为人员的成绩。2)列宽与对齐方式:前两列,“邮件地址”列宽30字符,左对齐;“姓名”列宽15字符,左对齐;从第三列开始,列宽统一为4字符且右对齐。3)每位人员的成绩为一行数据,行末换行要符合windows平台习惯。4)人员成绩按姓名的汉语拼音顺序排序,如果姓名相同,按邮件地址字母顺序排序。附件给出输入文件与输出文件的示例,可仔细阅读以帮助理解上述格式要求。提示:1)如果采用Java语言完成,编程过程中可以使用apachecommons包中的api(这个建议与考查的内容无关,至少便于对文件读写,评分是不会有任何影响)。例如:固定列宽并且有对齐要求的文本格式化,可以使用commons-lang包中StringUtils提供的LeftPad、RightPad方法(当然,这现方式并不强制要求,你也可以直接使用jdk提供的PrintWriter.printf或者String.format或者其它方法这现同样的目的,选择自己熟悉的就可以)除以上包以外,请使用j2se6.0的标准内容。引入其他第3方库(如使用数据库)并不符合考试要求。2)日志记录推荐使用log4j或log4net。配置格式不做强制要求,但需要在源文件存在错误时按要求记录问题。
解决方案
解决方案二:
靠,把题目往这里一贴就来求代码了!CSDN难道都是免费的代码工?作业及求代码帖子应直接删除!
解决方案三:
呵呵
解决方案四:
估计是新手了。数组操作了。
解决方案五:
我只能说火龙果威武。。
解决方案六:
不用看那些推荐什么软件之类的话,用普通JavaIO完全可以应付的。
解决方案七:
这个。。。还是不写了,老大生气了~~话说每次做苦力我们也挺累的。。
解决方案八:
估计楼主今天考试没考好啊!把分给我吧,可以交流下代码,嘿嘿!