我可以使用以下代码从互联网上的远程位置读取文件吗?
InputStream is = getClass().getResourceAsStream("/filename.properties");
Properties pro = new Properties();
pro.load(is);
// ...
我可以将/filename.properties
替换为192.168.173.238/D:/war/filename.properties
等远程路径吗?如果是,我该如何指定路径?此代码在Apache Tomcat中运行。
答案 0 :(得分:2)
如果网址可以使用(就像您在网页浏览器的地址栏中输入的那样),请使用URL#openStream()
或URLConnection#getInputStream()
。
InputStream is = new URL(url).openStream();
如果它可以通过本地磁盘文件系统路径使用(就像您在磁盘资源管理器的地址栏中输入的那样),请使用FileInputStream
。
InputStream is = new FileInputStream(path);
这很简单。
你的下一个问题应该是,“什么是正确的URL或磁盘文件系统路径?”。根据目前提供的信息无法回答这个问题。
答案 1 :(得分:1)
您好我可以使用以下代码从互联网上的远程位置读取一个文件。
可能不是。您只能使用它来读取CLASSPATH上可用的属性文件。除非您使用的是RMI代码库功能或URLClassLoaders,否则您的CLASSPATH不包含网络位置。
您似乎并不了解getResourceAsStream()
实际上是什么。