大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这就是相对路径
创新互联建站总部坐落于成都市区,致力网站建设服务有做网站、成都做网站、网络营销策划、网页设计、网站维护、公众号搭建、微信小程序、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
指的是相对于工程文件的位置而言
在eclipse的结构图中的位置
在windows的文件夹里的位置
在查看属性里的绝对路径的位置
代码来找文件路径
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("当前目录的路径\t"+new File(".").getCanonicalPath());// "."表示当前目录
File file = new File("Buffered.txt");
if(!file.exists()){//如果不存在,就新建该文件
file.createNewFile();
}
System.out.println("Buffered.txt的绝对路径\t"+file.getCanonicalPath());
System.out.println("Buffered.txt的相对路径\t"+file.getPath());
}
}
输出
当前目录的路径 D:\space\workspace\Demo
Buffered.txt的绝对路径 D:\space\workspace\Demo\Buffered.txt
Buffered.txt的相对路径 Buffered.txt
构造File对象,使用File对象取上级目录,再取绝对路径 File f = new File("c:\\temp\\01\\1.txt"); if(f.exists()){ System.out.println(f.getParentFile().getAbsolutePath()); }
File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以
通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:
public class PathTest
{
public static void main(String[] args)
{
File file = new File(".\\src\\baidu");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
} catch (IOException e)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的
路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。
getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。
下面是上面程序在我电脑上的输出:
G:\xhuoj\konw\.\src\baidu
G:\xhuoj\konw\src\baidu
有绝对路径与相对路径两种:
绝对路径 :以引用文件之网页所在位置为参考基础,而建立出的目录路径。
绝对路径:以Web站点根目录为参考基础的目录路径。
写了一个读取本地文件的方法, File file = new File(htmlFile); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); while((s=br.readLine())!=null){ al.add(s); } 在当前类写了main方法测试了一下是可行的, 但是页面某方法想调用该方法,不能实现。 总结问题是:只有放在static方法中可行,在其他地方调用都显示找不到指定文件。 文件结构: 把本地文件放在了web-inf的classes下了,相对路径写的(“/file.txt”); 求教为啥static方法可以,其他地方调用不行,这个函数本身不是静态的啊。