标签: absolute-path

Java中相对文件路径的绝对

鉴于我有两个File对象,我可以想到以下实现:

public File convertToRelative(File home, File file) {
    final String homePath = home.getAbsolutePath();
    final String filePath = file.getAbsolutePath();

    // Only interested in converting file path that is a 
    // direct descendants of home path
    if (!filePath.beginsWith(homePath)) {
        return file;
    }

    return new File(filePath.substring(homePath.length()+1));
}
Run Code Online (Sandbox Code Playgroud)

有没有更聪明的方法将绝对文件路径转换为相对文件路径?

可能重复:

如何从两个绝对路径或URL构建java中的相对路径

java relative-path absolute-path

3
推荐指数
1
解决办法
1万
查看次数

php - 头文件 - 相对路径问题

我在php中有一个Web应用程序.我有一个header.php文件,我有开放的html标签,元数据,css,js文件包含.

我在这个应用程序中有多个文件夹.我给了css,js文件的相对路径header.php.我面临的问题是,当我header.php在其他文件中包含此文件时./test-folder/my-file.php,相对路径会中断.

所以为了解决这个问题,我已经给出了必要的绝对路径.但是每次上传到服务器时我都必须更改这些路径.这可以用其他方式完成吗?

提前致谢

安吉

php relative-path header-files absolute-path

3
推荐指数
1
解决办法
4484
查看次数

如何在JSP中从Web应用程序上下文定义src属性

我想在src属性中使用绝对路径,同时在JSP中包含Javascript和CSS文件.

使用相对URL不符合我的目的,类似于下面的那个:

<script type="text/javascript" src="../js/jquery-1.6.4.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果我使用绝对URL,

<script type="text/javascript" src="/appName/js/jquery-1.6.4.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后我硬编码不适合的Web应用程序名称...

我找到的最佳选择是:

<base href="${pageContext.request.contextPath}"  />
Run Code Online (Sandbox Code Playgroud)

但是,它只适用于href属性 <a href="home.jsp" />

jsp absolute-path contextpath

3
推荐指数
1
解决办法
5143
查看次数

使用带有编写器C#的绝对路径

我试图使用streamwriter在我的文档文件夹中创建一个文本文件,但是当我实际使用完整路径时,它认为我正在使用相对路径.

我想透过这个路径的文件:"%HOMEPATH%/我的文档/",但它会将其视为相对路径.

任何帮助将不胜感激,谢谢.

c# streamwriter absolute-path

3
推荐指数
1
解决办法
1729
查看次数

Android文件选择器绝对路径问题

我使用intent过滤器来获取用户使用文件选择器选择的文件的路径,遗憾的是我有问题获取绝对路径,

onActivityResult的路径始终使用各种额外数据启动,这些数据会导致我的应用程序出错

例如

/content/:/myabsolutepath
Run Code Online (Sandbox Code Playgroud)

要么

file:///myabsolutepath
Run Code Online (Sandbox Code Playgroud)

额外的属性取决于文件类型,手机上的文件管理器等.

我只需要获得表单中的绝对路径

/myabsolutepath
Run Code Online (Sandbox Code Playgroud)

这里有我的代码

private void openFile() {
        Intent i = new Intent(Intent.ACTION_GET_CONTENT);
        i.setType("file/*");
        startActivityForResult(i, FILE_REQ_CODE);
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent i) {
        //String with the path;
        path = i.getDataString();


        super.onActivityResult(requestCode, resultCode, i);

    }
Run Code Online (Sandbox Code Playgroud)

android absolute-path filechooser android-intent

3
推荐指数
1
解决办法
1882
查看次数

使用cron或subshel​​l的绝对路径调用时,Python不会退出

我有一些通过cron运行的python脚本,当使用绝对路径调用脚本时,它们不再正确退出.它们将一直挂起,直到该过程终止.我相信它发生在我将/ var和/ home移动到另一个分区之后.

我检查了环境变量并且看不到任何明显错误,这在使用cron或bash子shell运行时发生,但在直接运行时不会发生.

如果我把它作为子shell运行它会挂起,直到我杀了它(ctrl-c),然后给我输出.

[wotstats@rock test]$ echo 'assert 0==1, "fails"' > test.py
[wotstats@rock test]$ /bin/bash -c "/usr/bin/python /var/home/wotstats/test/test.py"
^CTraceback (most recent call last):
  File "/var/home/wotstats/test/test.py", line 1, in <module>
    assert 0==1, "fails"
AssertionError: fails
Run Code Online (Sandbox Code Playgroud)

如果我不调用脚本,它会按预期终止而不会挂起:

[wotstats@rock test]$ /bin/bash -c "echo 'assert 0==1, \"fails\"' | /usr/bin/python"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: fails
Run Code Online (Sandbox Code Playgroud)

发生异常时,我会立即收到日志错误:

Dec  9 13:33:44 rock abrt: detected unhandled Python exception in '/var/home/wotstats/test/test.py'
Run Code Online (Sandbox Code Playgroud)

我根据输入运行了一些测试,发现即使调用/test.py和以root身份运行时也会出现此问题.我也尝试/ root和/ usr具有相同的效果.

这里询问了类似或相同的问题,并通过重新启动解决; 如果可以的话,我宁愿弄明白并避免重启.

python relative-path hang absolute-path unhandled-exception

3
推荐指数
1
解决办法
3099
查看次数

Url.Content()不处理复杂的URL

Url.Content()在我的观点中,我到处都有片段.它们在具有简单URL的页面上工作正常,但在URL变长时则不行.

这是一个示例:

<img src="@Url.Content("~/Content/Images/logo.png")" id="logo">
Run Code Online (Sandbox Code Playgroud)

当我在主页上或带有URL的页面localhost:8080/s/chocolate(显示"巧克力"搜索的结果时),这种方法很好.

但是当我试图添加一些改进时,例如localhost:8080/s/chocolate/b/lindt(这意味着将之前的结果仅过滤到品牌Lindt的那些),它就不再起作用了.在这种情况下,Url.Content指向/s/chocolate/Content/Images/logo.png,显然失败.

就好像Url.Content只在当前位置上升了2级而不是使用Web应用程序的真实根.我认为在约定中URL有主体/控制器/动作形式是有道理的,但在这里我有一个更复杂的URL方案(我使用URL重写器模块将这些URL片段与动作的参数相匹配).

有没有办法告诉帮助者去真正的根,或任何其他解决这个问题的方法?

(顺便说一下,我正在使用MVC 4)


编辑: 正如Felipe回答的那样,我刚刚发现MVC 4不再需要Url.Content.这适用于所有具有恒定路径的"设计"图像.但是,我使用了很多图像,其中路径部分地用一些数据构造,例如

<img src="@Url.Content(string.Format("~/Content/Images/stores/{0}.png", cart.Store.Retailer.Id))"/>
Run Code Online (Sandbox Code Playgroud)

我只是删除了Url.content,因此:

<img src="@string.Format("~/Content/Images/stores/{0}.png", Model.PreferedCart.Store.Retailer.Id)"/>
Run Code Online (Sandbox Code Playgroud)

渲染时,这给出了以下src : ~/Content/Images/stores_v2/Fr_SimplyMarket.png. 该~暂时还在这里,图像没有发现.我该如何解决这个问题?

url asp.net-mvc absolute-path asp.net-mvc-4

3
推荐指数
1
解决办法
1万
查看次数

.vim脚本/插件/ whatelse中的.vimrc绝对路径或相对路径

我实际上有以下情况,那就是实际工作:

想象一下,你必须以root身份在一个文件上工作,但你想要自己的.vimrc,而不需要调用"-u".所以我开始使用以下"插件":

let g:realuser=system('w | grep $(ps w | grep ' . getpid() . ' | head -n1 | awk "{ print \$2 }") | awk "{ print \$1 }"')
if $USER == 'root'
    let g:vimrc=system('printf /home/%s/.vimrc '. g:realuser)
    if filereadable(g:vimrc)
        exec ":source " . g:vimrc
        finish
    endif
endif
Run Code Online (Sandbox Code Playgroud)

我把它称为"realuser.vim",并在root的.vimrc(/root/.vimrc)中"源"它.

如果您现在通过SSH或通过Gnome在ubuntu上登录您的服务器,您可以"su - "并以root用户身份登录.然后你切换到你的工作目录并打开文件.该脚本检测到登录到该计算机的真实用户是"yourlogin".然后检查是否存在/ home/yourlogin /文件".vimrc".所以,它是,它加载它.

我的问题是,在/home/yourlogin/.vimrc中是以下行:

source ~/.vim/plugin/someplugin.vim
Run Code Online (Sandbox Code Playgroud)

所以猜猜是什么./root/.vimrc加载/home/yourlogin/.vimrc,因此检入/root/.vim/plugin/someplugin.vim,这是不存在的,因为它只在/home/yourlogin/.vim中

我怎样才能使用相对路径或者像这样告诉vim源文件只在/home/yourlogin/.vim/?

linux vim path relative-path absolute-path

3
推荐指数
1
解决办法
2318
查看次数

Google plus分享按钮,当前网址而不是指定网址?

如果需要澄清,请告诉我.如果无法完成,请告诉我.我拼命地试图弄明白这一点

我在以下网站上关注Google的Dev指南:

https://developers.google.com/+/web/share/

我似乎无法弄清楚如果可能的话,如何使用自定义图标并使用当前的URL而不必指定URL.

我发现他们网站的这一部分指定了锚标记地址:

"https://plus.google.com/share?url={URL}"
Run Code Online (Sandbox Code Playgroud)

这将允许我使用自定义图标(并且我可以使用自定义图标的唯一方法)和一些其他自定义参数.但看起来这个方法需要一个指定的URL,据我所知,它没有提供动态创建链接的方法,具体取决于当前页面.

如果我在顶部使用代码生成器,它将使用当前页面,但它调用Google托管的Java脚本,此外,当我将鼠标悬停在图标上时,它会弹出一个悬停链接.当然,我也不能在发电机上使用自定义图标.

我一直在谷歌搜索我能想到的每个搜索词,并搜索这个网站,我还没有找到其他人提出这个问题.我想通过大约20-30分钟的搜索后我不会通过搜索找到我的答案,所以我道歉,如果这已经得到回答.

只是我的一些经验背景,让我知道我的位置:我对HTML和CSS的运作有一个很好的把握.但是,Javascript,我理解非常基本的理论,而且就此而言.然而,我绝对打算学习,因为它将证明是一项非常有价值的技能.

非常感谢你!!

我想我知道需要做什么,但是......我不知道该怎么做(或者它是否会起作用):

我的共享链接需要链接到查看当前页面URL的脚本,然后获取该信息,并从中创建一个动态链接,将用户带到以下链接:https://plus.google.com/分享?url = {来自查询的网址将在这里}.

我认为这可能有用......听起来就像它会.有什么想法吗?如果是这样,围绕它的任何简单脚本都会这样做?

双重感谢!!

- 我终于发现了一些有效的东西,但它使用的是Javascript而我并不完全理解它,只是足以调整它.我花了很长时间才找到它,但它适用于Google Plus,Facebook或Twitter!(我相信它可以与提供需要指定URL的共享链接的任何其他网站一起使用)

在这里,我仍在寻找更好的解决方案,但这正是我所寻求的:

<a href="javascript:(
function(){
var w=480;var h=380;
var x=Number((window.screen.width-w)/2);
var y=Number((window.screen.height-h)/2);
window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)+'
  &title='+encodeURIComponent(document.title),'','width='+w+',height='+h+',left='+x+',top='+y    +',
  scrollbars=no');
})();" style="background: url(/wp-content/themes/HTML5/images/googleplus.png) no-repeat  scroll left center transparent;">
Share to Google+</a>
Run Code Online (Sandbox Code Playgroud)

social-networking absolute-path google-plus-one google-plus

3
推荐指数
1
解决办法
2万
查看次数

相对URL到Node.js中的绝对URL

我有这样的网址:

http://example.com/path/to/css/../../images/test.jpg

我想将其转换为绝对值,如下所示:

http://example.com/path/images/test.jpg

我正在寻找Nodejs中的模块来执行相同的操作。模块,路径执行相同的操作。但是(path.resolve)也带有目录路径。

我正在寻找类似的东西,但网址。

relative-path absolute-path relative-url node.js

3
推荐指数
1
解决办法
4565
查看次数