-1

我可以使用以下代码从 Internet 的远程位置读取属性文件吗?

InputStream is = getClass().getResourceAsStream("/filename.properties");
Properties pro = new Properties();
pro.load(is);
// ...

我可以将/filename.propertiesin 替换为远程路径192.168.173.238/D:/war/filename.properties吗?如果是,我应该如何指定路径?此代码在 Apache Tomcat 中运行。

4

2 回答 2

2

如果它可以通过 URL 获得(就像您在网络浏览器的地址栏中输入的那样),请使用URL#openStream()URLConnection#getInputStream()

InputStream is = new URL(url).openStream();

如果它可以通过本地磁盘文件系统路径获得(就像您在磁盘资源管理器的地址栏中输入的那样),请使用FileInputStream.

InputStream is = new FileInputStream(path);

就那么简单。

您的下一个问题可能是“正确的 URL 或磁盘文件系统路径是什么?” . 根据目前提供的信息无法回答这个问题。

于 2013-06-07T11:36:21.703 回答
1

嗨,我可以使用以下代码从 Internet 的远程位置读取属性文件吗?

可能不是。您只能使用它来读取 CLASSPATH 上可用的属性文件。除非您使用 RMI 代码库功能或 URLClassLoaders 之类的东西,否则您的 CLASSPATH 不包括网络位置。

你似乎不明白getResourceAsStream()实际上是为了什么。

于 2013-06-07T08:17:02.077 回答