为什么我们要在文件目录中加正斜杠来区分目录和文件?
Why do we have to add forward slash in the file directory to differentiate between directory and files?
在 for
循环内:
为什么我必须在目录名后添加正斜杠?
例如:
for(int i = 0; i<s.length; i++){
File f = new File(dirname + "/" + s[i] );
// Why to add "/" after dirname(i.e directory name)
if(f.isDirectory()){
System.out.println(s[i] + " is Directory" );
}else{
System.out.println(s[i] + " is File");
}
}
如果我在 dirname
之后删除反斜杠“/”:
File f = new File(dirname + "/" + s[i] );
当我删除“/”时:
File f = new File(dirname + s[i] );
不区分目录和文件。里面的所有文件都会被认为是文件。
我加个反斜杠后就没事了。它将区分目录和文件。这是为什么?
为什么我要加“/”。该程序旨在查看文件内部而不添加“/”。
包含和省略 /
表示文件指向不同的路径。例如,"foo/bar"
和"foobar"
是不同的路径,会指向文件系统中的不同对象:
Parent directory
+-- foobar "foobar"
+-- foo
+-- bar "foo/bar"
不是目录与文件不同。因此,很可能(我们不知道您的文件系统中有什么)它不是目录,因为它不存在。
您应该先检查 if (!f.exists())
(或类似的):
if (!f.exists()) System.out.println("Doesn't exist");
else if (f.isDirectory()) ... etc
此外,请注意您无论如何都不应该添加 /
- 使用双参数构造函数:
File f = new File(dirname, s[i] );
斜线符号是 file separator。这用于将目录与文件分开。
如果您要构建字符串,文件名将为:
Pictures/my-dog.png
在这里,您会看到有一个名为 "Picture" 的目录和一个名为 "my-dog.png" 的文件。
如果您要删除斜杠,它将看起来像一个长文件名:
Picturesmy-dog.png
在 for
循环内:
为什么我必须在目录名后添加正斜杠? 例如:
for(int i = 0; i<s.length; i++){
File f = new File(dirname + "/" + s[i] );
// Why to add "/" after dirname(i.e directory name)
if(f.isDirectory()){
System.out.println(s[i] + " is Directory" );
}else{
System.out.println(s[i] + " is File");
}
}
如果我在 dirname
之后删除反斜杠“/”:
File f = new File(dirname + "/" + s[i] );
当我删除“/”时:
File f = new File(dirname + s[i] );
不区分目录和文件。里面的所有文件都会被认为是文件。 我加个反斜杠后就没事了。它将区分目录和文件。这是为什么? 为什么我要加“/”。该程序旨在查看文件内部而不添加“/”。
包含和省略 /
表示文件指向不同的路径。例如,"foo/bar"
和"foobar"
是不同的路径,会指向文件系统中的不同对象:
Parent directory
+-- foobar "foobar"
+-- foo
+-- bar "foo/bar"
不是目录与文件不同。因此,很可能(我们不知道您的文件系统中有什么)它不是目录,因为它不存在。
您应该先检查 if (!f.exists())
(或类似的):
if (!f.exists()) System.out.println("Doesn't exist");
else if (f.isDirectory()) ... etc
此外,请注意您无论如何都不应该添加 /
- 使用双参数构造函数:
File f = new File(dirname, s[i] );
斜线符号是 file separator。这用于将目录与文件分开。
如果您要构建字符串,文件名将为:
Pictures/my-dog.png
在这里,您会看到有一个名为 "Picture" 的目录和一个名为 "my-dog.png" 的文件。
如果您要删除斜杠,它将看起来像一个长文件名:
Picturesmy-dog.png