请问如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取

请问如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取,第1张

你好,可以采用两种访问方式:

绝对路径

如:D:\workspace\xxx\xx 这种方式访问。

相对路径 我们使用最多的一种方式

在这个项目中,如果你建立一个包(其实是目录),就写你相应的转换成目录即可。

如:在src下建立一个包叫 comcnbaidu 你访问此目录下的文件用以下代码即可:

InputStream in = new BufferedInputStream(new FileInputStream("/com/cn/baidu/setproperties"));

<script src="/////scripts/js></script>

除了如上边那种用多个父路径外还有没有别的方法直接获取项目跟路径。获取项目根目录

在jsp里去<%=requestgetContextPath()%>这就是项目的根路径了,是到项目这层的。

js的引入方法如下:

<script src="<%=requestgetContextPath() %> /home/testjs"></script>

css的引入方法:

<link href="<%=requestgetContextPath() %>/css/onecss" rel="stylesheet" type="text/css">。/js获取项目根路径,如: >

getRootPath:function () {

//获取当前网址,如: >

var cur>

//获取主机地址之后的目录,如: /ems/Pages/Basic/Personjsp

var pathName = windowdocumentlocationpathname;

var pos = cur>

//获取主机地址,如: >

var localhostPath = cur>

//获取带"/"的项目名,如:/ems

var projectName = pathNamesubstring(0, pathNamesubstr(1)indexOf('/') + 1);

return(localhostPath + projectName);

servlet里面通过String basePath=sessiongetServletContext()getRealPath("/");获取webRoot目录真实路径。

比如d:\tomcat 6\webapps\项目名

webRoot下面的resources目录通过File path = new File(basePath, "resources");获取

其它同理

如果是jsp的话,获取resources目录直接通过“<%=requestgetContextPath()%>/resources”获取

在servlet中,可以通过以下方法获取项目的绝对路径:

使用ServletContext对象的getRealPath()方法:

String path = getServletContext()getRealPath("/");

使用类加载器的getResource()方法:

String path = getClass()getClassLoader()getResource("")getPath();

以上两种方法都可以获取到项目的绝对路径,但是第一种方法需要传入相对路径作为参数,而第二种方法则不需要。

这个得到的是相对路径,不一定是固定的。

也就是得到你web项目布署的路径。

requestgetScheme()得到协议如:>

你没有理解项目和程序的区别。

实际运行的程序是没有所谓项目的概念的(不可能把源代码也复制过去吧?!),也就是说,你的应用程序运行时的目录下一开始是不会自动地产生ClientPhoto这个文件夹的(除非你在项目里将这个文件夹中的文件设置为“复制到输出目录”。)

所以你要做的,第一件事就是先获取应用程序的路径,然后判断这个路径下的目录存在不存在,如果不存在,要首先创建一个。

我们知道“ClientPhoto”其实只是一个相对路径而已,要获得绝对路径,首先要知道应用程序当前的绝对路径:只需要检索SystemWindowsFormsApplicationStartupPath这个属性即可。

string path = SystemWindowsFormsApplicationStartupPath;

然后将应用程序当前路径path和字符串“ClientPhoto”组合成为一个完整的文件夹绝对路径folder(这时候就是绝对路径了,但是,还没完!)。

string folder = SystemIOPathCombine(path, "ClientPhoto");

接着判断 folder 指定的文件夹是否存在。

bool folderExists = SystemIODirectoryExists(folder);

如果文件夹不存在,则创建它。如果创建不了,会引发异常,请自行捕捉这个异常。

if(!folderExists)

{

    SystemIODirectoryCreateDirectory(folder);

}

最后才返回路径 folder。

完整代码:

private string GetFolderPath()

{

    string folder = PathCombine(ApplicationStartupPath, "ClientPhoto");

    if(!DirectoryExists(folder))

    {

        DirectoryCreateDirectory(folder);

    }

    return folder;

}

以上就是关于请问如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取全部的内容,包括:请问如果我有个文件存在src下一级的地方和存在src同级的目录应该怎么用相对路径去获取、html页面中怎么获取项目根目录,及引入js和css、java web项目 相对路径怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9786493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存