このコードに関して質問を投稿しました。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");
}
}