我有一个存储在服务器上的html文件。我的URL路径如下:<https://localhost:9443/genesis/Receipt/Receipt.html >
我想从网址(即html文件的源代码)中读取这个包含标签的html文件的内容。
我该怎么做?这是一个服务器端代码,不能有浏览器对象,我不确定使用URLConnection是一个不错的选择。
现在最好的解决方案是什么?
答案 0 :(得分:9)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class URLConetent{
public static void main(String[] args) {
URL url;
try {
// get URL content
String a="http://localhost:8080//TestWeb/index.jsp";
url = new URL(a);
URLConnection conn = url.openConnection();
// open the stream and put it into BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = br.readLine()) != null) {
System.out.println(inputLine);
}
br.close();
System.out.println("Done");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
答案 1 :(得分:2)
使用弹簧解决它 将bean添加到spring配置文件
<bean id = "receiptTemplate" class="org.springframework.core.io.ClassPathResource">
<constructor-arg value="/WEB-INF/Receipt/Receipt.html"></constructor-arg>
</bean>
然后在我的方法中阅读
// read the file into a resource
ClassPathResource fileResource =
(ClassPathResource)context.getApplicationContext().getBean("receiptTemplate");
BufferedReader br = new BufferedReader(new FileReader(fileResource.getFile()));
String line;
StringBuffer sb =
new StringBuffer();
// read contents line by line and store in the string
while ((line =
br.readLine()) != null) {
sb.append(line);
}
br.close();
return sb.toString();
答案 2 :(得分:0)
例如:
URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html");
URLConnection con = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String l;
while ((l=in.readLine())!=null) {
System.out.println(l);
}
您可以通过其他方式使用输入流,而不仅仅是打印它。
当然,如果你有本地文件的路径,你也可以
InputStream in = new FileInputStream(new File(yourPath));
答案 3 :(得分:0)
import java.net.*;
import java.io.*;
//...
URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html");
url.openConnection();
InputStream reader = url.openStream();
答案 4 :(得分:0)
我认为最简单的方法是使用 O(ab)
IOUtils