无法获取 if 语句的结果以写入新的 .txt 文件
Cannot get product of if statement to write to a new .txt file
我正在为我的 Java class 开发一个销售工具,除了将我的结果写入新的 .txt 文件外,我能够使一切正常工作。为了提供一些背景知识,我有一个 GUI 正在将数据写入名为 out1.txt 的文本文件。我正在从此文件中读回数据,并在 JtextArea 中显示 computesales >= 8,000 的任何内容,如下面的代码所示。
private void evaluateButtonActionPerformed(java.awt.event.ActionEvent evt) {
saleOutput.setText("");
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
saleOutput.append(s.toString());
saleOutput.append("\n");
}
}
}catch (IOException ex) {
JOptionPane.showMessageDialog(this, "Unable to open file");
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
我已经尝试了以下写入我的 out1.txt 文件的变体,但它似乎根本不起作用。它甚至不会创建文件。我的同事似乎认为文件编写器没有被刷新可能是个问题?
public void writeSales(Sales s) throws IOException
{
File testWriter = new File ("out1.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(testWriter, true));
out.write("" + s.getSalesID());
out.write(", ");
out.write(s.getFirstName());
out.write(", ");
out.write(s.getLastName());
out.write(", ");
out.write("" + s.getOfficeSupplies());
out.write(", ");
out.write("" + s.getBooks());
out.write(", ");
out.write("" + s.getPaper());
out.write(", ");
out.write("" + s.getDistrictValue());
out.write(", ");
out.write("" + s.getPreferredContact());
out.write(", ");
out.write("" + s.computeSales());
out.newLine();
out.close();
}
这是我在单独的 class 中写入的内容,用于写入新的 stars.txt 文件,但无法正常工作。有什么建议吗?
public void writeStars(Sales f) throws IOException
{
File testStars = new File ("stars.txt");
BufferedWriter outStars = new BufferedWriter(new FileWriter(testStars, true));
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
outStars.write("" + s.getDistrictValue());
outStars.newLine();
outStars.close();
}
}
}catch (IOException ex) {
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
我从这里调用它。
public class Sales
{
private int salesID;
private String firstName;
private String lastName;
private double officeSupplies;
private double books;
private double paper;
private String districtValue;
private String preferredContact;
public int getSalesID() {
return salesID;
}
public void setSalesID(int salesID) {
this.salesID = salesID;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public double getOfficeSupplies() {
return officeSupplies;
}
public void setOfficeSupplies(double officeSupplies) {
this.officeSupplies = officeSupplies;
}
public double getBooks() {
return books;
}
public void setBooks(double books) {
this.books = books;
}
public double getPaper() {
return paper;
}
public void setPaper(double paper) {
this.paper = paper;
}
public String getPreferredContact() {
return preferredContact;
}
public void setPreferredContact(String preferredContact) {
this.preferredContact = preferredContact;
}
public String getDistrictValue() {
return districtValue;
}
public void setDistrictValue(String districtValue) {
this.districtValue = districtValue;
}
@Override
public String toString() {
return "Sales{" + "salesID=" + salesID + ", firstName=" + firstName + ", lastName=" + lastName + ", officeSupplies=" + officeSupplies + ", books=" + books + ", paper=" + paper + ", districtValue=" + districtValue + ", preferredContact=" + preferredContact + '}';
}
public double computeSales()
{
return officeSupplies + books + paper;
}
}
如果您的 class 被调用,例如 SalesWriter
并且您有此代码
public void writeStars() throws IOException
{
File testStars = new File ("stars.txt");
BufferedWriter outStars = new BufferedWriter(new FileWriter(testStars, true));
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
outStars.write(s);
outStars.newLine();
}
}
outStars.close();
}catch (IOException ex) {
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
然后从你的主代码中你可以这样调用它
new SalesWriter ().writeStars ();
编辑
看看我是如何删除这个方法的参数的,因为无论如何你都在用这个方法读取文件。
我正在为我的 Java class 开发一个销售工具,除了将我的结果写入新的 .txt 文件外,我能够使一切正常工作。为了提供一些背景知识,我有一个 GUI 正在将数据写入名为 out1.txt 的文本文件。我正在从此文件中读回数据,并在 JtextArea 中显示 computesales >= 8,000 的任何内容,如下面的代码所示。
private void evaluateButtonActionPerformed(java.awt.event.ActionEvent evt) {
saleOutput.setText("");
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
saleOutput.append(s.toString());
saleOutput.append("\n");
}
}
}catch (IOException ex) {
JOptionPane.showMessageDialog(this, "Unable to open file");
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
我已经尝试了以下写入我的 out1.txt 文件的变体,但它似乎根本不起作用。它甚至不会创建文件。我的同事似乎认为文件编写器没有被刷新可能是个问题?
public void writeSales(Sales s) throws IOException
{
File testWriter = new File ("out1.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(testWriter, true));
out.write("" + s.getSalesID());
out.write(", ");
out.write(s.getFirstName());
out.write(", ");
out.write(s.getLastName());
out.write(", ");
out.write("" + s.getOfficeSupplies());
out.write(", ");
out.write("" + s.getBooks());
out.write(", ");
out.write("" + s.getPaper());
out.write(", ");
out.write("" + s.getDistrictValue());
out.write(", ");
out.write("" + s.getPreferredContact());
out.write(", ");
out.write("" + s.computeSales());
out.newLine();
out.close();
}
这是我在单独的 class 中写入的内容,用于写入新的 stars.txt 文件,但无法正常工作。有什么建议吗?
public void writeStars(Sales f) throws IOException
{
File testStars = new File ("stars.txt");
BufferedWriter outStars = new BufferedWriter(new FileWriter(testStars, true));
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
outStars.write("" + s.getDistrictValue());
outStars.newLine();
outStars.close();
}
}
}catch (IOException ex) {
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
我从这里调用它。
public class Sales
{
private int salesID;
private String firstName;
private String lastName;
private double officeSupplies;
private double books;
private double paper;
private String districtValue;
private String preferredContact;
public int getSalesID() {
return salesID;
}
public void setSalesID(int salesID) {
this.salesID = salesID;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public double getOfficeSupplies() {
return officeSupplies;
}
public void setOfficeSupplies(double officeSupplies) {
this.officeSupplies = officeSupplies;
}
public double getBooks() {
return books;
}
public void setBooks(double books) {
this.books = books;
}
public double getPaper() {
return paper;
}
public void setPaper(double paper) {
this.paper = paper;
}
public String getPreferredContact() {
return preferredContact;
}
public void setPreferredContact(String preferredContact) {
this.preferredContact = preferredContact;
}
public String getDistrictValue() {
return districtValue;
}
public void setDistrictValue(String districtValue) {
this.districtValue = districtValue;
}
@Override
public String toString() {
return "Sales{" + "salesID=" + salesID + ", firstName=" + firstName + ", lastName=" + lastName + ", officeSupplies=" + officeSupplies + ", books=" + books + ", paper=" + paper + ", districtValue=" + districtValue + ", preferredContact=" + preferredContact + '}';
}
public double computeSales()
{
return officeSupplies + books + paper;
}
}
如果您的 class 被调用,例如 SalesWriter
并且您有此代码
public void writeStars() throws IOException
{
File testStars = new File ("stars.txt");
BufferedWriter outStars = new BufferedWriter(new FileWriter(testStars, true));
SaleReader reader = new SaleReader();
try
{
List<Sales> sale = reader.readSale("out1.txt");
for (Sales s : sale)
{
if(s.computeSales()>= 8000)
{
outStars.write(s);
outStars.newLine();
}
}
outStars.close();
}catch (IOException ex) {
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
然后从你的主代码中你可以这样调用它
new SalesWriter ().writeStars ();
编辑
看看我是如何删除这个方法的参数的,因为无论如何你都在用这个方法读取文件。