写数据到.txt文件在JAVA? [英] Write data to .txt file in JAVA?

查看:117
本文介绍了写数据到.txt文件在JAVA?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否在JAVA中将计算的数据写入文本文件。我的JAVA代码是一个基于GUI的gpa计算器。我只是想添加一个JButton& ActionListener将写入类名称,GPA点数和计算GPA到.txt文件。

这是我的JFrame驱动程序代码:

  import javax.swing.JFrame; 

public class Driver00

{

public static void main(String [] args)

{
/ *
*创建一个框架(外框),并写入文本
*将作为框架标题显示
* /
JFrame frame = new JFrame(PHILIP MCQUITTY );

//给帧一个大小
frame.setSize(520,375);

//在电脑屏幕上设置位置会出现框架
frame.setLocation(400,166);

//使用这个,所以当你在角落按X时,frame会关闭
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//将您的面板添加到框架。名称必须匹配Panel类名称
frame.setContentPane(new GpaCalc());

// frame.setResizable(false);

//总是包含
frame.setVisible(true);




$ b $ p $这里是我的JPanel代码:

  import javax.swing。*; 
import java.awt。*;
import java.awt.event。*;

public class GpaCalc extends JPanel {
private JLabel GPALabel,c1,c2,c3,c4,c5,c6,c7,g1,g2,g3,g4,g5,g6,g7;
私人JTextField Class1,Class2,Class3,Class4,Class5,Class6,Class7,Grade1,Grade2,Grade3,Grade4,Grade5,Grade6,Grade7;
私人双人GPA1,GPA2,GPA3,GPA4,GPA5,GPA6,GPA7,GPA,BigDec;

public GpaCalc(){
setLayout(new FlowLayout());

//类标签
GPALabel = new JLabel(0.00000000000000);
GPALabel.setFont(new Font(Times New Roman,Font.BOLD,60));
GPALabel.setForeground(Color.red);

c1 = new JLabel(Block 1);
c1.setFont(new Font(Times New Roman,Font.BOLD,20));
c1.setForeground(Color.black);

c2 = new JLabel(Block 2);
c2.setFont(new Font(Times New Roman,Font.BOLD,20));
c2.setForeground(Color.black);

c3 = new JLabel(Block 3);
c3.setFont(new Font(Times New Roman,Font.BOLD,20));
c3.setForeground(Color.black);

c4 = new JLabel(Block 4);
c4.setFont(new Font(Times New Roman,Font.BOLD,20));
c4.setForeground(Color.black);

c5 = new JLabel(Block 5);
c5.setFont(new Font(Times New Roman,Font.BOLD,20));
c5.setForeground(Color.black);

c6 = new JLabel(Block 6);
c6.setFont(new Font(Times New Roman,Font.BOLD,20));
c6.setForeground(Color.black);

c7 = new JLabel(Block 7);
c7.setFont(new Font(Times New Roman,Font.BOLD,20));
c7.setForeground(Color.black);

//等级标签
g1 =新的JLabel(GPA Points);
g1.setFont(new Font(Times New Roman,Font.BOLD,20));
g1.setForeground(Color.black);

g2 = new JLabel(GPA Points);
g2.setFont(new Font(Times New Roman,Font.BOLD,20));
g2.setForeground(Color.black);

g3 = new JLabel(GPA Points);
g3.setFont(new Font(Times New Roman,Font.BOLD,20));
g3.setForeground(Color.black);

g4 = new JLabel(GPA Points);
g4.setFont(new Font(Times New Roman,Font.BOLD,20));
g4.setForeground(Color.black);

g5 = new JLabel(GPA Points);
g5.setFont(new Font(Times New Roman,Font.BOLD,20));
g5.setForeground(Color.black);

g6 = new JLabel(GPA Points);
g6.setFont(new Font(Times New Roman,Font.BOLD,20));
g6.setForeground(Color.black);

g7 = new JLabel(GPA Points);
g7.setFont(new Font(Times New Roman,Font.BOLD,20));
g7.setForeground(Color.black);

// Class Textfields
Class1 = new JTextField(Enter Class Name,10);
Class1.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class2 = new JTextField(Enter Class Name,10);
Class2.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class3 = new JTextField(Enter Class Name,10);
Class3.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class4 = new JTextField(Enter Class Name,10);
Class4.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class5 = new JTextField(Enter Class Name,10);
Class5.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class6 = new JTextField(Enter Class Name,10);
Class6.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Class7 = new JTextField(Enter Class Name,10);
Class7.setHorizo​​ntalAlignment(SwingConstants.CENTER);

//等级Textfields
Grade1 =新的JTextField(0.0,10);
Grade1.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade2 = new JTextField(0.0,10);
Grade2.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade3 = new JTextField(0.0,10);
Grade3.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade4 = new JTextField(0.0,10);
Grade4.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade5 = new JTextField(0.0,10);
Grade5.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade6 = new JTextField(0.0,10);
Grade6.setHorizo​​ntalAlignment(SwingConstants.CENTER);

Grade7 = new JTextField(0.0,10);
Grade7.setHorizo​​ntalAlignment(SwingConstants.CENTER);

// Buttons(s)
JButton Calculate = new JButton(Calculate);
Calculate.addActionListener(new Listener());

JButton Reset = new JButton(Reset Fields);
Reset.addActionListener(new Listener2());

// Add(s)
add(GPALabel);
add(c1);
add(Class1);
add(Grade1);
add(g1);
add(c2);
add(Class2);
add(Grade2);
add(g2);
add(c3);
add(Class3);
add(Grade3);
add(g3);
add(c4);
add(Class4);
add(Grade4);
add(g4);
add(c5);
add(Class5);
add(Grade5);
add(g5);
add(c6);
add(Class6);
add(Grade6);
add(g6);
add(c7);
add(Class7);
add(Grade7);
add(g7);
add(Calculate);
add(Reset);


//动作监听器
private class监听器实现ActionListener {
public void actionPerformed(ActionEvent e){

GPA1 = Double.parseDouble(Grade1.getText());
GPA2 = Double.parseDouble(Grade2.getText());
GPA3 = Double.parseDouble(Grade3.getText());
GPA4 = Double.parseDouble(Grade4.getText());
GPA5 = Double.parseDouble(Grade5.getText());
GPA6 = Double.parseDouble(Grade6.getText());
GPA7 = Double.parseDouble(Grade7.getText());

GPA =(GPA1 + GPA2 + GPA3 + GPA4 + GPA5 + GPA6 + GPA7)/ 7;

GPALabel.setText(+ GPA);




private class Listener2 implements ActionListener {
public void actionPerformed(ActionEvent e){

Class1.setText(Enter Class Name);
Class2.setText(Enter Class Name);
Class3.setText(Enter Class Name);
Class4.setText(Enter Class Name);
Class5.setText(Enter Class Name);
Class6.setText(Enter Class Name);
Class7.setText(Enter Class Name);

Grade1.setText(0.0);
Grade2.setText(0.0);
Grade3.setText(0.0);
Grade4.setText(0.0);
Grade5.setText(0.0);
Grade6.setText(0.0);
Grade7.setText(0.0);

GPALabel.setText(0.00000000000000);








<解决方案

解决方案检查java I / O api 。下面是将数据写入文件的示例。

  BufferedWriter writer = null; 
try {
writer = new BufferedWriter(new FileWriter(./ output.txt));
writer.write(你的数据在这里);
} catch(IOException e){
System.err.println(e);
} finally {
if(writer!= null){
try {
writer.close();
catch(IOException e){
System.err.println(e);
}
}
}


I was wondering if it is in JAVA to write the calculated data to a text file. My JAVA code is a GUI based gpa calculator. I just want to add a JButton & ActionListener that will write the Class Name, GPA Points, and calculated GPA to a .txt file.

Here is my JFrame Driver Code:

import javax.swing.JFrame;

public class Driver00

{

  public static void main(String[] args)

  {
    /*
     * Create a frame (outside box) and write what text
     * will be displayed as the frame title
     */
    JFrame frame = new JFrame("PHILIP MCQUITTY");

    // give frame a size
    frame.setSize(520, 375);

    // set location on the computer screen will frame appear
    frame.setLocation(400, 166);

    // use this so when you press X in corner, frame will close
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // Add your panel to the frame. name must match Panel class name
    frame.setContentPane(new GpaCalc());

    // frame.setResizable(false);

    // always include
    frame.setVisible(true);
  }
}

Here is my JPanel Code:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class GpaCalc extends JPanel {
  private JLabel GPALabel, c1, c2, c3, c4, c5, c6, c7, g1, g2, g3, g4, g5, g6, g7;
  private JTextField Class1, Class2, Class3, Class4, Class5, Class6, Class7, Grade1, Grade2, Grade3, Grade4, Grade5, Grade6, Grade7;
  private double GPA1, GPA2, GPA3, GPA4, GPA5, GPA6, GPA7, GPA, BigDec;

  public GpaCalc() {
    setLayout(new FlowLayout());

    // Class Labels
    GPALabel = new JLabel("0.00000000000000");
    GPALabel.setFont(new Font("Times New Roman", Font.BOLD, 60));
    GPALabel.setForeground(Color.red);

    c1 = new JLabel("Block 1");
    c1.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c1.setForeground(Color.black);

    c2 = new JLabel("Block 2");
    c2.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c2.setForeground(Color.black);

    c3 = new JLabel("Block 3");
    c3.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c3.setForeground(Color.black);

    c4 = new JLabel("Block 4");
    c4.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c4.setForeground(Color.black);

    c5 = new JLabel("Block 5");
    c5.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c5.setForeground(Color.black);

    c6 = new JLabel("Block 6");
    c6.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c6.setForeground(Color.black);

    c7 = new JLabel("Block 7");
    c7.setFont(new Font("Times New Roman", Font.BOLD, 20));
    c7.setForeground(Color.black);

    // Grade Labels
    g1 = new JLabel("GPA Points");
    g1.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g1.setForeground(Color.black);

    g2 = new JLabel("GPA Points");
    g2.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g2.setForeground(Color.black);

    g3 = new JLabel("GPA Points");
    g3.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g3.setForeground(Color.black);

    g4 = new JLabel("GPA Points");
    g4.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g4.setForeground(Color.black);

    g5 = new JLabel("GPA Points");
    g5.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g5.setForeground(Color.black);

    g6 = new JLabel("GPA Points");
    g6.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g6.setForeground(Color.black);

    g7 = new JLabel("GPA Points");
    g7.setFont(new Font("Times New Roman", Font.BOLD, 20));
    g7.setForeground(Color.black);

    // Class Textfields
    Class1 = new JTextField("Enter Class Name", 10);
    Class1.setHorizontalAlignment(SwingConstants.CENTER);

    Class2 = new JTextField("Enter Class Name", 10);
    Class2.setHorizontalAlignment(SwingConstants.CENTER);

    Class3 = new JTextField("Enter Class Name", 10);
    Class3.setHorizontalAlignment(SwingConstants.CENTER);

    Class4 = new JTextField("Enter Class Name", 10);
    Class4.setHorizontalAlignment(SwingConstants.CENTER);

    Class5 = new JTextField("Enter Class Name", 10);
    Class5.setHorizontalAlignment(SwingConstants.CENTER);

    Class6 = new JTextField("Enter Class Name", 10);
    Class6.setHorizontalAlignment(SwingConstants.CENTER);

    Class7 = new JTextField("Enter Class Name", 10);
    Class7.setHorizontalAlignment(SwingConstants.CENTER);

    // Grade Textfields
    Grade1 = new JTextField("0.0", 10);
    Grade1.setHorizontalAlignment(SwingConstants.CENTER);

    Grade2 = new JTextField("0.0", 10);
    Grade2.setHorizontalAlignment(SwingConstants.CENTER);

    Grade3 = new JTextField("0.0", 10);
    Grade3.setHorizontalAlignment(SwingConstants.CENTER);

    Grade4 = new JTextField("0.0", 10);
    Grade4.setHorizontalAlignment(SwingConstants.CENTER);

    Grade5 = new JTextField("0.0", 10);
    Grade5.setHorizontalAlignment(SwingConstants.CENTER);

    Grade6 = new JTextField("0.0", 10);
    Grade6.setHorizontalAlignment(SwingConstants.CENTER);

    Grade7 = new JTextField("0.0", 10);
    Grade7.setHorizontalAlignment(SwingConstants.CENTER);

    // Button(s)
    JButton Calculate = new JButton("Calculate");
    Calculate.addActionListener(new Listener());

    JButton Reset = new JButton("Reset Fields");
    Reset.addActionListener(new Listener2());

    // Add(s)
    add(GPALabel);
    add(c1);
    add(Class1);
    add(Grade1);
    add(g1);
    add(c2);
    add(Class2);
    add(Grade2);
    add(g2);
    add(c3);
    add(Class3);
    add(Grade3);
    add(g3);
    add(c4);
    add(Class4);
    add(Grade4);
    add(g4);
    add(c5);
    add(Class5);
    add(Grade5);
    add(g5);
    add(c6);
    add(Class6);
    add(Grade6);
    add(g6);
    add(c7);
    add(Class7);
    add(Grade7);
    add(g7);
    add(Calculate);
    add(Reset);
  }

  // Action Listener(s)
  private class Listener implements ActionListener {
    public void actionPerformed(ActionEvent e) {

      GPA1 = Double.parseDouble(Grade1.getText());
      GPA2 = Double.parseDouble(Grade2.getText());
      GPA3 = Double.parseDouble(Grade3.getText());
      GPA4 = Double.parseDouble(Grade4.getText());
      GPA5 = Double.parseDouble(Grade5.getText());
      GPA6 = Double.parseDouble(Grade6.getText());
      GPA7 = Double.parseDouble(Grade7.getText());

      GPA = (GPA1 + GPA2 + GPA3 + GPA4 + GPA5 + GPA6 + GPA7) / 7;

      GPALabel.setText("" + GPA);

    }

  }

  private class Listener2 implements ActionListener {
    public void actionPerformed(ActionEvent e) {

      Class1.setText("Enter Class Name");
      Class2.setText("Enter Class Name");
      Class3.setText("Enter Class Name");
      Class4.setText("Enter Class Name");
      Class5.setText("Enter Class Name");
      Class6.setText("Enter Class Name");
      Class7.setText("Enter Class Name");

      Grade1.setText("0.0");
      Grade2.setText("0.0");
      Grade3.setText("0.0");
      Grade4.setText("0.0");
      Grade5.setText("0.0");
      Grade6.setText("0.0");
      Grade7.setText("0.0");

      GPALabel.setText("0.00000000000000");

    }

  }

}

解决方案

check java I/O api. Below is an example of writing data to file.

    BufferedWriter writer = null;
    try {
        writer = new BufferedWriter(new FileWriter("./output.txt"));
        writer.write("your data here");
    } catch (IOException e) {
        System.err.println(e);
    } finally {
        if (writer != null) {
            try {
                writer.close();
            } catch (IOException e) {
                System.err.println(e);
            }
        }
    }

这篇关于写数据到.txt文件在JAVA?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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