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

时间:2017-07-12 07:48:57

标签: 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(fileReader);

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

但我不能在setText方法中使用它,因为它是一个void方法。 任何人都可以帮助翻译此方法,以便它可以在TextArea setText方法中工作吗? -Thanks!

2 个答案:

答案 0 :(得分:0)

我猜你只是将线路输出到System.out。您必须通过执行类似

的操作来添加文本文件的内容
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可能是一个更好的主意,而不是连接每一行。

答案 1 :(得分:0)

您必须从文件中获取数据,并将数据设置为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。