将目录列表打印到控制台时出现问题

时间:2012-05-01 11:45:15

标签: java printing console

对可读性感到抱歉。堆栈似乎是从代码行修改空间&缩进不显示。 Hrmph。

这是在没有任何问题的情况下打印到控制台......

CGT\whgdata\whnvp33.txt   << EXPECTED OUTPUT (excerpt)
CGT\whgdata\whnvt30.txt
CGT\whgdata\whnvt31.txt
CGT\whgdata\whnvt32.txt
CGT\whgdata\whnvt33.txt
CGT\whgdef.txt
CGT\whgdhtml.txt
CGT\whibody.txt
etc....

...直到我尝试将哈希表打印到文件中。从那时起,getFileListing无法被识别为有效符号。

FileListing2.java:17: error: cannot find symbol
        List<File> files = FileListing2.getFileListing(startingDirectory);
  symbol:   method getFileListing(File)
  location: class FileListing2
1 error

有人可以借出第二眼来帮助我发现我不小心/过度涂抹的东西。我确信这是显而易见的。 :\

import java.util.*;
import java.io.*;
import java.nio.*;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption.*;
import java.nio.file.Paths;
//
public final class FileListing2 {
    public static void main(String... aArgs) {
//
    File startingDirectory= new File("CGT");
    File outputFile = new File("CGTOutput.txt");
    List<File> files = FileListing2.getFileListing(startingDirectory);
    OutputStream output = null;
    //
    for(File file : files )        {
       System.out.println(file);  //print filenames
    }
}
}

2 个答案:

答案 0 :(得分:2)

是的,这是非常有用的,您的班级FileListing2不包含方法getFileListing(File)。它必须是静态的,就像你试图称之为:

public final class FileListing2 {
    public static void main(String... aArgs) {
        //
        File startingDirectory= new File("CGT");
        File outputFile = new File("CGTOutput.txt");
        List<File> files = FileListing2.getFileListing(startingDirectory);
        OutputStream output = null;
        //
        for(File file : files ) {
            System.out.println(file);  //print filenames
        }
    }
    public static List<File> getFileListing(File f) {
    /* implementation */
    }
}

答案 1 :(得分:2)

如果您的代码是FileListing2的全部代码,那么getFileListing()方法没有LileListing2方法,只有main()方法