您好我正在尝试创建一个在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!
答案 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。