我想要打印一个URL的内容,但第一个字符在多行中缺失。像在下面的输出中,“<”在DOCTYPE,head和html标记中缺失。来自BufferedReader的许多行中缺少第一个字符
我曾尝试在while循环中使用readLine方法,但它显示更奇怪的输出与DOCTYPE,头标记缺失和null在最后。
代码1:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class urlConnect {
public static void main(String[] args) throws Exception {
URL urlObj = new URL("https://soundcloud.com");
URLConnection conn = urlObj.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((br.read()) != -1) {
System.out.println((br.readLine()));
}
}
}
输出1:
!DOCTYPE html>
<html lang="en">
head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
...
...
...
</body>
/html>
代码2:
while ((br.readLine()) != null) {
System.out.println((br.readLine()));
}
输出2:
<head>
<link rel="dns-prefetch" href="//style.sndcdn.com">
<link rel="dns-prefetch" href="//api-v2.soundcloud.com">
<link rel="dns-prefetch" href="//secure.quantserve.com">
<link rel="dns-prefetch" href="//api.soundcloud.com">
<link rel="dns-prefetch" href="//i1.sndcdn.com">
<link rel="dns-prefetch" href="//i3.sndcdn.com">
<link rel="dns-prefetch" href="//wis.sndcdn.com">
<link rel="dns-prefetch" href="//pixel.quantserve.com">
...
...
...
<script type="text/javascript">window.__sc_version = "1495803442";
</body>
null
Got it!谢谢Darshan –