我创建了一个应用程序,它从所选目录中获取.java和.class文件的列表,并将它们放在JList中。我正在使用Netbeans 7.1.2。
我想要在JList中显示所有文件,我似乎无法打开jTextArea中打开选定的.java文件。
我需要从JList获取文件以将其传递到JTextArea但它无法正常工作
try
{
FileReader reader= new FileReader( jlist.getSelectedValue() );
BufferedReader br = new BufferedReader( reader);
textarea.read( br );
br.close();
textarea.requestFocus();
}
catch(Exception e2) {}
有人看到我出错的地方吗?
答案 0 :(得分:5)
如果要将文件读入JTextArea,则需要使用传入BufferedFileReader而不是read(...)
方法的write(...)
方法。这应该对你有意义,因为你的目标是阅读,而不是写。
答案 1 :(得分:0)
textarea.write( bw );
这会编译吗? write方法似乎意味着将textarea的内容写入文件而不是相反。
如果出现问题,请确保不要捕获异常并忽略它。异常跟踪可以非常有助于理解出错的地方。
答案 2 :(得分:0)
如果您遇到问题,您应该显示/记录您的例外情况,而不是安静地吞下它们。您的代码可能遇到一个与其相关的有用异常的问题,但在编写告诉您异常的代码之前,您不会知道。
你可以从这开始:
try
{
File file = (File)jlist.getSelectedValue();
FileReader reader = new FileReader( file );
textarea.read( br );
br.close();
textarea.requestFocus();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.toString());
}
答案 3 :(得分:-1)
只要向JList添加内容 - 可视组件 - 它就不再是对象列表。你只需要一个索引为0到n的数组,你可以选择它,但没有任何东西真的在它们中。您可以做的是创建一个文件数组(新文件[])并将所有文件存储在那里,以便您可以随时访问它们。