【问题标题】:Determine whether the given file path string is remote or local确定给定的文件路径字符串是远程的还是本地的
【发布时间】:2012-10-18 18:32:03
【问题描述】:

我想确定给定的文件路径字符串是远程的还是本地的。

我看过一些建议使用下面的 java 示例

  1. 在 jdk7 中可用但正在使用 jdk6 的 fileStore api
  2. 通过搜索“www”或“http”来确定使用正则表达式。

请告诉我是否有更好的方法来解决这个问题。

本地文件路径:

c:/dir1/dir2/file.xml

远程文件路径:

https:///dir1/dir2/file.xml

更具体地说,给定 DNSName ,是否可以确定 file.xml 是在远程计算机上还是本地计算机上。我知道我们可以使用 INetAddress 的 HostName(Ex:Saturn) 来解决这个问题。 您能否告诉我我们是否可以使用 DNS 名称(例如:Saturn.rev.com)来确定它?

【问题讨论】:

  • 您能否提供您认为本地文件与删除文件的示例?
  • 如果路径是指向网络文件系统的符号链接怎么办?或者您只是想区分 HTTP URL(当然,可能是本地的,例如 http://localhost/ )和文件 URL 之间的区别?

标签: java file filepath


【解决方案1】:

您可以尝试使用 java.io.File 的实例来访问该文件,如果没有则抛出异常是本地文件。

【讨论】:

  • 这是不正确的 - 除非您认为“本地”包括映射驱动器等(不是您的问题,给出的问题对于什么是本地的或不是本地的是模糊的。)
  • 还取决于文件是否预计实际存在 - 问题中未指定。权限也可能是个问题。
  • 是的。这种模糊性让我做出了令人难以置信的疯狂假设,即可以通过 file:/// 访问的任何内容都符合“本地”的条件。我认为提问者或多或少会与查找 file:/// url:、ftp: 等所有常见的预路径信号并基于此进行匹配的标准联系在一起。
  • 有很多可能性,但如果@Michael Maze 没有考虑其中的几个,我认为我的回答会完成他正在寻找的。​​span>
  • @Federico 感谢您的回答,并为提出含糊的问题道歉。我现在已经编辑了我的问题。请让我知道我们是否可以使用 DNS 名称确定主机是远程主机还是本地主机。
猜你喜欢
  • 2010-09-26
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多