【问题标题】:How to display a filenames (.txt) in JTextArea?如何在 JTextArea 中显示文件名 (.txt)?
【发布时间】:2020-10-08 22:45:07
【问题描述】:

此方法仅在控制台中显示文件名。

JTextArea area = new JTextArea(20,40);
public void readContent(){
    KreatorPytan kp = new KreatorPytan();

    File file = new File("D:\\IT\\JAVA\\zadanie\\Testy");
    File[] files = file.listFiles();

    for(int i = 0; i < files.length; i++){
        try {
            BufferedReader reader = null;
            reader = new BufferedReader(new FileReader(files[i]));
            if(files[i].isFile()){
                System.out.println(files[i].getName());
                area.read(reader, "File");
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(WyborPytan.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(WyborPytan.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}

我不知道为什么这些文件名没有保存到我的 jtextarea。你能帮帮我吗?

【问题讨论】:

  • 为什么在代码试图将文件 contents 放入文本区域时,标题会提到文件 names?顺便说一句 - 每次循环,area.read(reader, "File"); 将用当前读取的内容替换以前的内容。我希望它在完成循环后显示文件列表中 last 文件的内容。
  • 区域仍然是空的,我不知道如何插入文件,例如“任务1.txt。” ; “quest2.txt”(可能没有 .txt”。
  • 如果你想要一个文件 list 那么File JList 是要走的路。有关示例,请参见 this answer
  • 关于您已删除的问题:您提出了一个非常困难的问题——您发布了一小段代码,我们无法编译或运行,并询问为什么它不起作用。在检查您的 sn-ps 时,我的猜测是它与您发布的代码无关,但基于此,我们确实无法确定。如果您真的想要一个体面且迅速的解决方案,请考虑创建并发布一个有效的minimal reproducible example 并附上您的问题、编译、运行和显示问题的代码,以及小到足以包含在您的问题中的代码。
  • 旁注:您已经完全忽略了这个问题的答案。这对试图帮助你的人不公平,是吗?

标签: java swing io java-io


【解决方案1】:

此代码将文件读取到 JTextArea 并用下一个重写每个以前的文件内容。因此,您将看到最后一个文件内容。如果你想在 JTextArea 中获取文件名,你不需要读取文件,只需像这样

    for (int i = 0; i < files.length; i++) {
        area.append(files[i].getName() + '\n');
    }

【讨论】:

  • 感谢兄弟的解决方案 :) 向您致以最诚挚的问候 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
  • 2010-10-17
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
相关资源
最近更新 更多