您的当前位置:首页正文

实验13输入输出流的使用

来源:九壹网
(1)按行读取文件studentInfo.txt的内容,获取学生姓名并写入到studentName.txt 文件中,且给每一行按序加上行号;获取 studentName.txt 文件的按行读取文件 studentInfo.txt 的内容,获取学生姓名并写入到studentName.txt 文件中,且给每一行按序加上行号;获取 studentName.txt 文件的长度及修改时间。 package test13_1;

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File;

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Date; public class FIleIo {

public static void main(String[] args) { try { File file = new File(\"studentName.txt\"); if(!file.exists()){ file.createNewFile(); } BufferedWriter bw = new BufferedWriter(new FileWriter(file)); BufferedReader br = new BufferedReader(new FileReader(\"studentInfo.txt\")); String line; int number = 1; while (( line = br.readLine()) != null) { String[] sc =line.split(\ bw.write(number+sc[0].trim()); bw.newLine(); bw.flush(); number++; } bw.close(); br.close(); java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss.SSS\"); String dateTime=df.format(new Date(file.lastModified())); System.out.println(\"文件修改时间:\"+dateTime);

System.out.println(\"文件的长度:\"+file.length()); } catch (IOException e) { e.printStackTrace(); } } }

(2)学生成绩存储在文件中,每行一个学生成绩,形如: 20151201 85 84 91.5 20151202 70 85 65 …

请编程读入学生成绩,并计算各门课程的均值和方差,写入文件最后 的最后一行,如:

71/10 81.2/11.3 76/15.3长度及修改时间。

package test13_2;

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File;

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Score {

public static void main(String[] args) { // TODO 自动生成的方法存根 File file = new File(\"student.txt\"); try { BufferedWriter bw = new BufferedWriter(new FileWriter(file)); BufferedReader br = new BufferedReader(new FileReader(file)); String[] str = new String[]{\"20151201 85 84 91.5\70 85 65\ for(int i = 0;iint sum2 = 0; int sum3 = 0; while (( line = br.readLine()) != null) { String[] sc =line.split(\" \"); sc1 += Double.parseDouble(sc[1]); sc2 += Double.parseDouble(sc[2]); sc3 += Double.parseDouble(sc[3]); number++; sum1 += sc1*sc1; sum2 += sc2*sc2; sum3 += sc3*sc3; } BufferedWriter bw1 = new BufferedWriter(new FileWriter(file,true));

bw1.write(sc1/number+\"/\"+Math.sqrt((sum1-sc1*sc1)/number)+\"\\"+sc2/number+\"/\"+Math.sqrt((sum2-sc2*sc2)/number)+\"\\"+sc3/number+\"/\"+Math.sqrt((sum3-sc3*sc3)/number)); bw1.flush(); bw1.close(); br.close(); } catch (IOException e) { e.printStackTrace(); } } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top