我希望能够列出当前目录下的文件。 我做了什么,应该工作,但不会返回所有的文件名。
File dir = new File(".");
File[] filesList = dir.listFiles();
for (File file : filesList) {
if (file.isFile()) {
System.out.println(file.getName());
}
}
它返回.classpath
,但我敢肯定我有这个文件夹内的其他java文件。 也许对于当前文件夹中的点表示法是不正确的?
也许对于当前文件夹中的点表示法是不正确的?
打印结果File.getCanonicalFile()
检查路径。
为什么SRC不是当前文件夹中任何人都可以解释一下吗?
调用JVM时,您的IDE设置类路径。
EG(达到了Netbeans的),如果选择菜单File
| Project Properties (all classes)
,你可能会看到类似:
这是Working Directory
是在这里讨论。
试试这个,来检索文件夹,子文件夹内的所有文件
public static void main(String[]args)
{
File curDir = new File(".");
getAllFiles(curDir);
}
private static void getAllFiles(File curDir) {
File[] filesList = curDir.listFiles();
for(File f : filesList){
if(f.isDirectory())
getAllFiles(f);
if(f.isFile()){
System.out.println(f.getName());
}
}
}
只检索文件/文件夹
public static void main(String[]args)
{
File curDir = new File(".");
getAllFiles(curDir);
}
private static void getAllFiles(File curDir) {
File[] filesList = curDir.listFiles();
for(File f : filesList){
if(f.isDirectory())
System.out.println(f.getName());
if(f.isFile()){
System.out.println(f.getName());
}
}
}
有一个快速探听周围为这一个,但是这看起来像它应该工作。 我没有测试它尚未虽然。
File f = new File("."); // current directory
File[] files = f.listFiles();
for (File file : files) {
if (file.isDirectory()) {
System.out.print("directory:");
} else {
System.out.print(" file:");
}
System.out.println(file.getCanonicalPath());
}
您应该验证new File(".")
到你认为它是指向真的是指向- .classpath
提出了一些Eclipse项目的根源....
没有什么你的代码错误。 它应该列出所有被提名的目录直接包含的文件和目录。
问题是以下的最有可能的一种:
该".classpath"
文件,建议您正在寻找一个Eclipse项目目录,和Eclipse项目通常在一个子目录中的Java文件配置,如"./src"
。 我不希望看到在任何Java源代码"."
目录。
为什么SRC不是当前文件夹中任何人都可以解释一下吗?”
假设你正在启动在Eclipse的应用程序,那么当前文件夹默认为项目目录。 您可以通过在启动配置向导面板之一更改默认的当前目录。
你的代码提供了预期的结果,如果你编译并运行代码的独立(从命令行)。 至于在Eclipse由默认的工作目录中的每个项目的项目目录,这就是为什么你得到这个结果。
您可以设置user.dir来财产Java作为:
System.setProperty("user.dir", "absolute path of src folder");
然后它会给预期的结果。
我用这个答案跟我的本地目录(例如E://
)这是第一个目录和目录Seconde系列的输出做出一个Java空指针异常工作的罚款,寻找原因后,我发现这个问题是创建由隐藏目录,该目录是由窗口创建来避免这个问题只需要使用这个
public void recursiveSearch(File file ) {
File[] filesList = file.listFiles();
for (File f : filesList) {
if (f.isDirectory() && !f.isHidden()) {
System.out.println("Directoy name is -------------->" + f.getName());
recursiveSearch(f);
}
if( f.isFile() ){
System.out.println("File name is -------------->" + f.getName());
}
}
}