使用文本文件的Javafx TextArea setText方法

使用文本文件的Javafx TextArea setText方法,javafx,textarea,text-files,Javafx,Textarea,Text Files,您好,我正在尝试创建一个用于javafx的TextArea setText方法的方法 我正在尝试一种方法来实现这一点: public static void setTextArea(String fileName) { String line; try { FileReader fileReader = new FileReader(fileName); BufferedReader buffer = new BufferedReader

您好,我正在尝试创建一个用于javafx的TextArea setText方法的方法

我正在尝试一种方法来实现这一点:

public static void  setTextArea(String fileName) {

    String line;

    try {
        FileReader fileReader = new FileReader(fileName);
        BufferedReader buffer = new   BufferedReader(fileReader);

        while ((line = buffer.readLine()) != null) {
            out.println(line);
        }
        buffer.close();
} catch //etc etc
但是我不能在setText方法中使用它,因为它是一个void方法。 有人能帮我翻译一下这个方法,让它在TextArea setText方法中工作吗?
-谢谢

我想你只是把线路弹到系统上了。您必须通过这样做来添加文本文件的内容

public static void  setTextArea(String fileName) {

String line;
String content;

try {
    FileReader fileReader = new FileReader(fileName);
    BufferedReader buffer = new   BufferedReader(fileReader);

    while ((line = buffer.readLine()) != null) {
        out.println(line);
        content += line;
    }
    buffer.close();
} catch //etc etc

然后,您可以从TextArea类返回
content
或调用
setText(content)
。如果它是一个大文件,那么使用
StringBuilder
可能是一个更好的主意,而不是连接每一行。

您必须从文件中获取数据,并将数据设置为textArea

  TextArea txtArea = new TextArea();
  String data = getDataForTextArea(String fileLocation);
  txtArea.setText(data);
public String getDataForTextArea(String fileLocation) {
  InputStream inputStream = new FileInputStream(fileLocation);
        if (inputStream != null) {
            int b;
            String txtData = "";
            try {
                while ((b = inputStream.read()) != -1) {
                    txtData += (char) b;
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                inputStream.close();
            }
            return txtData;
    }

确保检查nullpointerException。

您知道为什么在文本框中以“null”开头,然后以文本继续吗?如果它是在java的运行框中打印的,那么它没有空值