我已经发布了关于此代码的问题。我发现 JTextArea 不支持加载的二进制类型数据。
所以我的新问题是如何检测“坏”文件并取消文件 I/O 并告诉用户他们需要选择一个新文件?
class Open extends SwingWorker<Void, String>
{
File file;
JTextArea jta;
Open(File file, JTextArea jta)
{
this.file = file;
this.jta = jta;
}
@Override
protected Void doInBackground() throws Exception
{
BufferedReader br = null;
try
{
br = new BufferedReader(new FileReader(file));
String line = br.readLine();
while(line != null)
{
publish(line);
line = br.readLine();
}
}
finally
{
try
{
br.close();
} catch (IOException e) { }
}
return null;
}
@Override
protected void process(List<String> chunks)
{
for(String s : chunks)
jta.append(s + "\n");
}
}