在java中,如何通过传递相对路径来访问文件?
我试图理解“如何通过传递文件或文件夹的相对路径来访问文件?”。以下是一个例子: 代码:在java中,如何通过传递相对路径来访问文件?,java,regex,file,relative-path,Java,Regex,File,Relative Path,我试图理解“如何通过传递文件或文件夹的相对路径来访问文件?”。以下是一个例子: 代码: public class somex { public static void main { String fileName = System.getProperty("user.dir"); <---This gives me path for the current working directory. File file = new File(fileN
public class somex {
public static void main {
String fileName = System.getProperty("user.dir"); <---This gives me path for the current working directory.
File file = new File(fileName + "../../xml_tutorial/sample.xlsx" );
System.out.println(file.getCanonicalPath()); <---This gives me path for the file that is residing in folder called "xml_tutorial".
}
}
>>>>
公共类somex{
公共静态真空总管{
字符串文件名=System.getProperty(“user.dir”);>>
在这里,我知道文件位置,因此我能够通过正确的相对路径。并且,我成功地打印了文件路径。我删除了“sample.xlsx”并执行了上述代码;毫无疑问,它给出了路径名,路径与文件存在时(即删除前)的路径相同.怎么可能?我在这里期待异常。为什么它不抛出异常
第二,我想对文件名使用正则表达式,例如:“../../xml\u tutorial/samp.*”。但这不起作用,它给了我IOException。为什么它不能识别文件sample.xlsx?(注意:这是当文件存在时,并且百分百确定只有一个文件名为“sample.xlsx”)
我已经删除了“sample.xlsx”并执行了上述代码;毫无疑问,它给了我路径名,并且路径与文件存在时(即删除之前)的路径相同。这怎么可能?我在这里期待异常。为什么它不引发异常
文件
不关心文件是否实际存在。它只解析路径。不需要为了获取路径而存在文件
/home/tjc/a/b/c/../../file.txt
/home/tjc/a/b/c/./../file.txt
…并将其转化为标准形式
/home/tjc/a/file.txt
/home/tjc/a/file.txt
如果您想知道该路径上的文件是否实际存在,可以使用
关于第二个无关的问题: 第二,我想对文件名使用正则表达式,例如:“../../xml\u tutorial/samp.*”。但这不起作用,它给了我IOException。为什么它无法识别文件sample.xlsx
没有人说它支持通配符。如果你想进行搜索,你需要使用or和一个实现,或者和一个实现。1.你可以用file.exists()方法检查文件。2.java不支持通配符,你可以在这里找到答案。请每个问题问一个问题。