是否有方法获取计算机上存在的文件的完整路径?例如,我希望获得桌面文件夹中文件的完整路径。
我试着用:
File f = new File("help.chm");
String f2=f.getAbsolutePath();
f3=f3.replaceAll("\\\\","/" );
System.out.println("Path:"+f3);但它给了我这样的项目道路:
C:/Users/toshiba/Documents/NetBeansProjects/test/help.chm
尽管文件不在那里。
发布于 2012-10-15 20:42:11
由于其他答案不涉及你的问题,以下是我的评论:
要获得文件的路径,首先需要告诉java程序它在哪里或如何找到它。
对于特定的示例,您可以使用:System.getProperty("user.home") + "/Desktop";获取桌面路径,然后可以在桌面上的文件夹中搜索匹配的文件名。
阅读此处了解如何搜索文件: docs.oracle.com/javase/tutorial/essential/io/find.html
发布于 2012-10-15 20:29:57
如果使用file (即relative path )创建new File("filename"),则无法使用file.getAbsolutePath()获取文件的绝对路径,因为相对路径是根据默认的用户主目录或JVM路径构建的。
看看Java:-
路径名,无论是抽象的还是字符串形式的,可以是绝对的,也可以是相对的。绝对路径名是完整的,因为为了找到它所表示的文件,不需要其他信息。 相反,相对路径名必须根据从其他路径名获取的信息来解释。默认情况下,java.io包中的类总是根据当前用户目录解析相对路径名。该目录由系统属性user.dir命名,通常是调用该虚拟机的目录。
因此,要获得本例的absolute path,实际上您必须自己编写路径。获取absolute path,直到保存file的目录,并将file name附加到其中。
发布于 2012-10-15 20:27:53
File是文件路径的表示,而不一定是磁盘上存在的文件--即File对象不一定存在于磁盘上才不是null。
这就是为什么有File.exists()方法。
https://stackoverflow.com/questions/12903436
复制相似问题