2012-06-29 84 views
0

这可能确实是nooby,但我试图访问一个文件目录,以便我可以加载其中的所有图像。由于某些原因,当我输入文件目录如“/ Images”时,它会以“\ Images”的形式出现在我创建一个新文件时,Windows无法找到目录,因为它是反斜杠...无法访问文件目录

代码:

private final String imgDir = "/Images"; 

File dir = new File(imgDir); 

System.out.println(imgDir); 
System.out.println(dir); 

File[] files = dir.listFiles(new FilenameFilter() { 
    public boolean accept(File dir, String fname) { 
    return fname.endsWith(".png") || fname.endsWith(".bmp") || fname.endsWith(".jpg"); 
    } 
}); 

打印输出分别是“/ Images”和“\ Images”。文件总是出来空,因为目录是错误的。任何想法,为什么这可能是?编辑: 好吧,我得到它的工作。你们没事,我需要使用相对路径,但是因为它是在src文件夹中,所以我只需要将其设置为“。\ src \ Images”:D 这是否是不好的做法?我应该只是将Images文件夹移动到根项目目录?

+0

你可以做列表(ls/dir)并显示你正在访问的目录结构。 –

+0

这是一个名为“Images”的文件夹,位于项目 – Mike

+0

的src文件夹内,我猜测是这样。你正在给路径作为/图像,即绝对路径。您应该直接尝试“图像”或“./图像”。 –

回答

0

Windows无法找到目录,因为它是一个反斜杠

这不是理由。 Windows本身使用反斜杠。

因为目录是错误的,文件总是空出来。

这样做,例如,如果根据您的意见你的意思./Images,但你实际上编码/Images

2

尝试使用File.separator而不是明确的斜杠来组合您的字符串,例如: private final String imgDir = File.separator + "Images"

+0

如果我使用File.separator,imgDir和dir都是“\ Images”,但文件仍然为空 – Mike

+0

“\ Images”应该是绝对路径还是相对路径?也许你想要“。\ Images”? – Turix