重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。
创新互联公司专业为企业提供阜宁网站建设、阜宁做网站、阜宁网站设计、阜宁网站制作等企业网站建设、网页设计与制作、阜宁企业网站模板建站服务,10多年阜宁做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在java中获得文件的路径在我们做上传文件操作时是不可避免的。
File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。
如果在类中取不到ServletContext时,有两种方式可以做到:1)利用Java的类加载机制:调用 XXX.class.getClassLoader().getResource(); 方法来获取到ClassPath , 然后处理获得WebRoot目录。
getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。
File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。
在java中获得文件的路径在我们做上传文件操作时是不可避免的。
总结问题是:只有放在static方法中可行,在其他地方调用都显示找不到指定文件。
getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。
1、在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用System.getProperty(user.dir)获取工程的绝对路径。
2、File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。
3、一个例子,如果有一个Test文件夹里面有test.java和hello.txt.如果你想用test.java操作hello.txt 只要在test.java中这样写File file=new File(hello.txt);//这样就是相对路径。
4、如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
5、总结问题是:只有放在static方法中可行,在其他地方调用都显示找不到指定文件。