我在父目录的一个访问文件的这个问题上创建文件的文件对象。
为了解释,考虑下面的目录结构: -从父目录在java中
C:/Workspace/Appl/src/org/abc/bm/TestFile.xml
C:/Workspace/Appl/src/org/abc/bm/tests/CheckTest.java
在CheckTest.java我要为TestFile.xml
public class Check {
public void checkMethod() {
File f = new File({filePath value I want to determine}, "TestFile.xml");
}
}
创建一个文件比如我尝试了一些事情getAbsolutePath()
和getParent()
等,但变得有点复杂,坦率地说,我想我搞砸了。
我之所以不想在创建File
实例使用"C:/Workspace/Appl/src/org/abc/bm"
是因为C:/Workspace/Appl
不是固定的,在所有的情况下会在运行时不同,基本上我不想硬编码。
什么可能是最容易和更干净的方式来实现这一目标?
谢谢。
@Andrew Thompson @Nishan - 我现在已经尝试了这两个,他们的工作。使用任何一种方式的特定优势/劣势? – 2011-03-11 11:07:17
这些都依赖于一个基本原则 - 从classpath加载。所以,它们中的任何一个都应该对你有用,而不是直接从硬编码文件路径加载。 – adarshr 2011-03-11 11:09:30
但是,如果您只想读取文件,则无需首先创建File对象。请使用我已经指出的FileInputStream方法。 – adarshr 2011-03-11 11:10:25