VS代码:即使使用system.out.print,获取api url的Java文件也没有输出

问题描述 投票:0回答:0

我正在尝试创建一个从 url 获取数据的程序。当我尝试使用 VS code 调试它时,它什么也不输出。即使我输入“System.out.print(“Something”);”在 catch {} 块之后或任何地方。 有时,当在 VS code 上调试具有 http api 的程序时,它会打开一个包含某些BuiltInClassLoader.class 文件的新选项卡,突出显示其中的一部分(突出显示BuiltInClassLoader.class 的第 641 行),并为文件 I' 抛出 ClassNotFoundException我正在尝试跑步。

package a.b.c;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import java.net.URI;

public class BeaconFetcher {

    public static void main(String[] args) {
        String urlString = "https://beacon.nist.gov/beacon/2.0/chain/last/pulse/last";
        
        try {
            URL url = new URI(urlString).toURL();
            
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            
            if (connection.getResponseCode() != 200) {
                System.out.println("Error: Unable to fetch data from NIST beacon.");
                return;
            }
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder responseBuilder = new StringBuilder();
            String line;
            
            while ((line = reader.readLine()) != null) {
                responseBuilder.append(line);
            }
            reader.close();
            
            String response = responseBuilder.toString();
            JSONParser parser = new JSONParser();
            JSONObject jsonResponse = (JSONObject) parser.parse(response);
            
            JSONObject pulse = (JSONObject) jsonResponse.get("pulse");
           
            String outputValue = (String) pulse.get("outputValue");
            
            System.out.println("Output Value: " + outputValue);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Chat GPT 编写了这段代码。

我已经检查了我的设备上的类路径环境变量,它确实包含所有库和文件本身。 (我可能是错的,因为我不知道类路径变量应该包含什么。) 不过它在 Eclipse 上运行得很好。使用 Windows 命令实用程序上的curl 命令测试 url 也能得到足够的结果。如何使程序在 VS code 上运行,即在终端中打印输出值,就像在 Eclipse 上那样?

编辑:在调用堆栈中显示“异常暂停”。重新启动 VS code 后,我在调试终端中看到以下错误: Error: "could not open `C:\Users\user_name\AppData\Local\Tem

java rest visual-studio-code classpath urlconnection
© www.soinside.com 2019 - 2024. All rights reserved.