如何使用Java在textarea中显示控制台结果

时间:2019-11-11 13:37:36

标签: java

这是一个Java程序,可以显示每个目录的文件     如何在文本区域中显示结果的问题

private static void 
findFilesRecursively(File file, Collection<File> all, final String extension) {

        final File[] children = file.listFiles(new FileFilter() {
            public boolean accept(File f) {
                    return f.getName().endsWith(extension) ;
                }}
        );
        if (children != null) {
            //Pour chaque fichier recupere, on appelle a nouveau la methode
            for (File child : children) {
                all.add(child);
                findFilesRecursively(child, all, extension);
            }
        }
    }
    public static void main(String[] args)
    {
    //try {
        final Collection<File> all = new ArrayList<File>();
       // JFileChooser fc = new JFileChooser(".");
              //  int returnVal = fc.showOpenDialog(null);
        findFilesRecursively(new File("c:\\repertoire"), all,"");

        //File outputFile = new File("C:\\Users\\21365\\Desktop\\tt.txt");
        //FileOutputStream fos = new FileOutputStream(outputFile);
    for (int i = 0; i < all.size(); i++) {
        for (File file : all) {

              if(file.isDirectory()==true){
                  System.out.println("le repertoire \t"+file.getName()+"\t contien");
              }else{

1 个答案:

答案 0 :(得分:0)

您应该遍历您的列表两次-摆脱以下两个for循环之一:

   for (int i = 0; i < all.size(); i++) {
        for (File file : all) {

也不要使用System.out.println(…)来打印到控制台,只需创建一个JFrame / JTextArea并使用其append(String text)方法,例如:

if (file.isDirectory() == true) {
      yourTextArea.append("le repertoire \t" + file.getName() + "\t contien");
} else {
      yourTextArea.append(file.getName());
}