Я видел много сайтов, которые описывают, как добавлять текст в textarea
, но есть ли способ получить данные из всего файла .txt и отобразить их в текстовой области?
Я играл с различными вещами, чтобы поставить в линию, как это:
outputTextArea.append(????);
Но пока не повезло.
Супер новичок в Java и не очень хорошо с терминологией, но янадеюсь, я хорошо объяснил свой вопрос.
РЕДАКТИРОВАТЬ: Это не позволит мне ответить на мой собственный вопрос, поэтому я просто собираюсь поставить его здесь.
Я использую JTextArea, но, думаю, я немного перегружен.Я не совсем уверен, что я вижу, но это то, о чем вы говорили?
public FileReader(String fileName);
У меня так далеко.
FileWriter fwriter = new FileWriter("BigMoneys.txt", true);
PrintWriter outputFile = new PrintWriter(fwriter);
for (int year = 1; year<= 10; year++)
{
amount = principal * Math.pow(1.0 + rate, year);
outputFile.append( year + "\t" + moneyFormat.format(amount) + "\n");
}
outputFile.close();
JOptionPane.showMessageDialog(null, outputTextArea, "Compound Interest", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
Остальныеэто было достаточно хорошо описано в моем учебнике, и все имеет приличный смысл, но я только что проверил, и в книге ничего не говорится о FileReader.
Все, что я знаю, это то, что я должен использовать то, что находится в outputFile, и добавить его кoutputTextArea.Честно говоря, я не пытаюсь заставить вас сделать мою домашнюю работу для меня, я просто действительно потерян.
Так что, если я должен использовать эту строку выше, могу ли я сделать это?
FileReader(String fwriter)
РЕДАКТИРОВАТЬ2: Это то, что я получил до сих пор.Пожалуйста, скажите мне, если я на правильном пути.
import java.util.Scanner;
import java.io.*;
import java.text.NumberFormat; //class for numeric formatting
import java.util.Locale; //class for country-specific information
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class Interest3
{
public static void main(String[] args) throws IOException
{
double amount, //amount of deposit at end of each year
principal, //initial amount before interest
rate; //rate of interest
String input;
String filename;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the filename: ");
filename = keyboard.nextLine();
//create NumberFormat for currency in US dollar format
NumberFormat moneyFormat = NumberFormat.getCurrencyInstance( Locale.US );
//create JTextArea to display output
JTextArea outputTextArea = new JTextArea();
input = JOptionPane.showInputDialog("Please enter Principal: ");
principal = Double.parseDouble(input);
input = JOptionPane.showInputDialog("Please enter Interest Rate (Format: 0.00) ");
rate = Double.parseDouble(input);
outputTextArea.setText("Year\tAmount on deposit\n");
//open new file for writing
PrintWriter outputFile = new PrintWriter(filename);
//calculate amount on deposit for each of ten years
for (int year = 1; year<= 10; year++)
{
amount = principal * Math.pow(1.0 + rate, year);
// append one line of text to outputTextArea
outputFile.append( year + "\t" + moneyFormat.format(amount) + "\n");
}
outputFile.close();
//open file for reading
File file = new File(filename);
FileReader rd = new FileReader(file);
outputTextArea.append(rd);
//display results
JOptionPane.showMessageDialog(null, outputTextArea, "Compound Interest", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
У меня есть ошибка в строке с outputTextArea.append(rd);
, которая говорит "append (java.lang.String) в javax.swing.JTextArea нельзя применить к (java.io.FileReader) ", поэтому я явно чего-то там упускаю.
EDIT3: Ааа, и я думаю, что у меня это получилось!Спасибо всем за помощь.Дело закрыто, спокойной ночи:)