BufferReader使用以前的信息写入新文件 [英] BufferReader to write new file with previous info
本文介绍了BufferReader使用以前的信息写入新文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我代码的基础。它会在控制台上打印学生的成绩,但是我该如何使用Buffereader将所有学生的成绩放到一个新文件中。
This is the basis of my code. It prints students grades on the console, but how do I use a Buffereader to put all the students grade on a new file.
import java.io.*;
import java.util.InputMismatchException;
import java.lang.*;
import java.util.*;
public class WorkSpace {
private Scanner x;
public void openFile(){
try{
x = new Scanner (new File ("grades.txt"));
}
catch(Exception e){
System.out.println("could not find file");
}}
public void createFile()throws IOException {
try{
File file = new File("grades.txt");
Scanner s = new Scanner(file);
while(s.hasNext()){
{
String [] split = s.nextLine().split(", ");
String fname = split[0];
Double q1 = Double.parseDouble (split[1]);
Double q2 = Double.parseDouble (split[2]);
Double q3 = Double.parseDouble (split[3]);
Double q4 = Double.parseDouble (split[4]);
Double proji = Double.parseDouble (split[5]);
Double projii = Double.parseDouble (split[6]);
Double projiii = Double.parseDouble (split[7]);
double studentgrade = (q1 *0.1) + (q2 *0.1) +(q3 *0.1) + (q4 *0.1) +(proji*0.15) + (projii * 0.2) + (projiii *0.25);
if(studentgrade>90)
System.out.printf("%s got an A\n", fname);
else if(studentgrade>80)
System.out.printf("%s got a B\n", fname);
else if(studentgrade>70)
System.out.printf("%s got a C\n", fname);
else if(studentgrade>60)
System.out.printf("%s got a D\n", fname);
else if(studentgrade>50)
System.out.printf("%s got a F\n", fname);
}}}catch(Exception e){
e.printStackTrace();
}
}
public void closeFile(){
x.close();
}
推荐答案
您的问题没有解决感。 BufferedReader
不写入文件。 err,它读取文件。你想要的是一个 BufferedWriter。
Your question doesn't make sense. BufferedReader
doesn't write files. It, err, reads files. What you want is, err, a BufferedWriter.
这篇关于BufferReader使用以前的信息写入新文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文