使用文本文件的Javafx TextArea setText方法
您好,我正在尝试创建一个用于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
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的运行框中打印的,那么它没有空值