【发布时间】:2012-12-02 06:39:35
【问题描述】:
我想要做的就是显示一个 txt 文件的全部内容。我该怎么做呢?我假设我会将 JLabel 的文本设置为包含整个文件的字符串,但是如何将整个文件变成一个字符串?另外,这个txt文件在Eclipse的src文件夹下吗?
【问题讨论】:
标签: java swing user-interface file-io jtextcomponent
我想要做的就是显示一个 txt 文件的全部内容。我该怎么做呢?我假设我会将 JLabel 的文本设置为包含整个文件的字符串,但是如何将整个文件变成一个字符串?另外,这个txt文件在Eclipse的src文件夹下吗?
【问题讨论】:
标签: java swing user-interface file-io jtextcomponent
此代码用于在您的 Jtext 区域中显示选定的文件内容
static void readin(String fn, JTextComponent pane)
{
try
{
FileReader fr = new FileReader(fn);
pane.read(fr, null);
fr.close();
}
catch (IOException e)
{
System.err.println(e);
}
}
选择文件
String cwd = System.getProperty("user.dir");
final JFileChooser jfc = new JFileChooser(cwd);
JButton filebutton = new JButton("Choose");
filebutton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (jfc.showOpenDialog(frame) !=JFileChooser.APPROVE_OPTION)
return;
File f = jfc.getSelectedFile();
readin(f.toString(), textpane);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
frame.setCursor(Cursor.
getPredefinedCursor(
Cursor.DEFAULT_CURSOR));
}
});
}
});
【讨论】:
fr.close() 语句应该在 finally 块中。设置框架光标的部分如何与问题相关?
我想要做的就是显示一个 txt 文件的全部内容。如何 我会这样做吗?我假设我将设置文本 一个 JLabel 是一个包含整个文件的字符串,但是如何将整个文件变成一个字符串?
您最好使用JTextArea 来执行此操作。也可以看看read()方法。
txt 文件是否在 Eclipse 的 src 文件夹中?
不。您可以从任何地方读取文件。 "Reading, Writing, and Creating Files" 上的教程将是一个很好的起点
【讨论】:
stringBuilder变量中stringBuilder变量StringBuilder 变量的内容分配给JLabel 的文本属性但将整个文件的数据存储到JLabel 中,使用JTextArea 或任何其他文本容器不是一个好主意。
像这样阅读你的文件:
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
String everything = sb.toString();
} finally {
br.close();
}
现在将所有内容的值分配给JLabel 或JTextArea
JLabel1.text=everything;
【讨论】:
JLabel,“\n”将如何提供帮助?而且我不知道JLabel 有一个受保护的text 字段(似乎javadoc 也没有意识到这一点)
java.io 打开文件流。StringBuilder 或StringBuffer
StringBuilder 或StringBuffer 设置为JLable.text。但我建议使用JTextArea..
你不需要把这个文件放在 src 文件夹中。
【讨论】: