Java类File有4个构造函数:
File(File parent, String child)
从父抽象路径名和子路径名字符串创建新的File实例.
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的File实例.
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的File实例.
File(URI uri)
通过将给定文件:URI转换为抽象路径名来创建新的File实例.
当我做:
File f=new File("myfile.txt");
Run Code Online (Sandbox Code Playgroud)
是否创建了磁盘上的物理文件?或者JVM是否调用OS或者仅在JVM中创建一个对象?
不,创建一个新的File
对象并没有创建文件系统上的文件.特别是,您可以创建File
引用不存在的路径(甚至是Windows上的驱动器)的对象.
施工人员不问底层的文件系统表示进行某种形式的规范化操作,如果有可能的,但是这并不需要该文件存在.作为规范化的示例,请考虑在Windows上运行此代码:
File f = new File("c:\\a/b\\c/d.txt");
System.out.println(f);
Run Code Online (Sandbox Code Playgroud)
这打印
c:\a\b\c\d.txt
Run Code Online (Sandbox Code Playgroud)
显示正斜杠已经规范化为反斜杠 - 但a,b和c目录实际上并不存在.我认为规范化更多地与操作系统命名方案有关,而不是任何实际资源 - 我不相信它甚至可以在磁盘上查看文件是否存在.
归档时间: |
|
查看次数: |
3093 次 |
最近记录: |