下面的代码是一个匿名的内部类,当我在NetBeans上运行它时,它可以工作,但是当在Unix中编译时,它会创建一个$ 1的类。
有没有办法修复此代码以便在unix中成功编译?
File directory = new File("/SAMPLE");
File files[] = directory.listFiles(new FileFilter() {
@Override
public boolean accept (File pathname) {
String name = pathname.getName();
return name.startsWith("S") && pathname.isFile();
}
}
);
谢谢。
答案 0 :(得分:1)
但是在Unix中编译时,它会创建$ 1的类。
正在编译,这是一个匿名内部类的编译方式。此外,这不是类Unix系统上的有效文件路径。您可以使用File.listRoots()
来获取跨平台的根目录。像
File directory = new File(File.listRoots()[0],"SAMPLE");
在类Unix系统上,这将代表" / SAMPLE"。