BufferReader使用以前的信息写入新文件 [英] BufferReader to write new file with previous info

查看:114
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆