下面是一个小实例,注释也很清晰,但足以说明问题。
1、实例代码
1 public class TestMain { 2 3 public static String PROJECT_NAME = "/Test/"; 4 public static String FILE_NAME = "src/com/test/NewFile.xml"; 5 6 public static void main(String[] args) throws IOException { 7 //获取当前类的路径 8 String classPath = TestMain.class.getResource("").getPath(); 9 //获取项目名称所在位置 10 int index = classPath.indexOf(PROJECT_NAME); 11 //截取项目根目录 12 String projectPath = classPath.substring(0, index); 13 System.out.println("path:"+projectPath+PROJECT_NAME+FILE_NAME); 14 BufferedReader bufferedReader = new BufferedReader(new FileReader(projectPath+PROJECT_NAME+FILE_NAME)); 15 String str = null; 16 if((str = bufferedReader.readLine()) != null){ 17 System.out.println(str); 18 } 19 } 20 }
关键是要根据实际需求灵活运用。
2、执行结果截图
备注:NewFile.xml 为当前类同目录下的一个XML文件。
3、思考
为什么不直接写绝对路径那?
答:在我们实际开发过程中基本都是团队开发,会借助SVN等进行代码的同步。我们不能保证每个人本地项目的存储路径一致,有的可能在D盘,有的在E盘。我们上面的获取方法保证了项目前面的路径是动态获取,所有人本地项目存储位置不同,完全不影响我们代码的执行。反之就会有问题。
时间: 2024-10-06 02:54:43