import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class HttpJsonRequest { public static void main(String[] args) { try { URL url = new URL("https://news-at.zhihu.com/api/4/news/latest"); URLConnection connection = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); String json = sb.toString(); // 解析JSON,这里以解析stories数组中第一个元素的title字段为例 int index = json.indexOf("\"title\":"); String title = json.substring(index + 9, json.indexOf(",", index)).replace("\"", ""); System.out.println(title); } catch (Exception e) { e.printStackTrace(); } } }
时间: 2024-02-14 08:04:44 浏览: 28
这段代码是一个Java程序,用于向知乎新闻API发送HTTP请求并获取JSON数据。具体来说,它创建了一个URL对象,指定了API的地址,然后通过URLConnection对象打开连接。接下来,它使用BufferedReader读取连接的输入流,并将读取到的数据存储到StringBuilder对象中。最后,它将StringBuilder对象转换为字符串,并从中解析出JSON数据中的第一个标题字段。这个程序可以作为学习Java程序如何使用HTTP请求和处理JSON数据的示例。
相关问题
解析以下代码:import java.net.*; import java.io.*; public class URLConnectionReader { public static void main (String args[]) { try{ //URL gis = new URL("http://www.ztenc.com.cn/test.htm"); URL gis = new URL("file:/c:/a.txt"); URLConnection uc = gis.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( uc.getInputStream() ) ); String line; while( (line = in.readLine()) != null ) { System.out.println(line); } in.close(); }catch(Exception e){ System.out.println(e); } } }
这段代码是用于从指定的URL或文件中读取内容并将其打印到控制台。与之前的代码类似,这里也使用了`java.net.URL`类和`java.io.BufferedReader`类来实现。
首先,通过创建一个`URL`对象来指定要读取的资源的位置。在这个例子中,有两个URL对象,一个是注释掉的`http://www.ztenc.com.cn/test.htm`,另一个是`file:/c:/a.txt`。您可以根据需要选择使用其中一个URL。
然后,通过调用`openConnection()`方法获取到一个`URLConnection`对象,它表示与URL之间的连接。
接下来,创建一个`BufferedReader`对象来读取URL或文件的内容。通过调用`getInputStream()`方法获取URLConnection的输入流,并将其传递给`InputStreamReader`构造函数进行处理。
然后,使用`readLine()`方法逐行读取内容,并将每行内容打印到控制台。
在整个代码块的末尾,使用`close()`方法关闭输入流,并捕获任何可能发生的异常并进行处理。
请注意,在运行代码之前,请确保URL或文件的位置是有效的,并且您具有正确的访问权限。
如果您有任何进一步的问题,请随时提问!
java 抓取服务器文件夹_java 怎么通过url获取远程服务器上某个文件夹下的所有文件名...
你可以使用Java中的URLConnection类和BufferedReader类来获取远程服务器上某个文件夹下的所有文件名。以下是一个简单的示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class GetRemoteFolderFiles {
public static void main(String[] args) throws IOException {
String folderUrl = "http://example.com/folder/";
URL url = new URL(folderUrl);
URLConnection conn = url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = br.readLine()) != null) {
// 这里可以对文件名进行处理
System.out.println(inputLine);
}
br.close();
}
}
```
以上代码将输出远程服务器上指定文件夹下的所有文件名。你可以根据需要进行进一步的处理。注意,这个方法只会获取文件名,而不会下载文件。如果需要下载文件,需要使用其他方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)