Код VS: файл Java, который извлекает URL-адрес API, не имеет вывода даже с помощью system.out.printJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Код VS: файл Java, который извлекает URL-адрес API, не имеет вывода даже с помощью system.out.print

Сообщение Anonymous »

Я пытаюсь создать программу, которая извлекает данные из URL-адреса. Когда я пытаюсь отладить его с помощью кода VS, он ничего не выводит. Даже если я поставлю «System.out.print(»Что-то»);» после блока catch {} или где угодно. Иногда при отладке программы, которая имеет http API в коде VS, она открывает новую вкладку с некоторым файлом встроенного классаLoader.class, выделяет его раздел (выделяется строка 641 встроенного класса Loader.class) и выдает исключение ClassNotFoundException для файла I' пытаюсь бежать.

Код: Выделить всё

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.
Я проверил переменную среды classpath на своем устройстве, и она действительно содержит все библиотеки и сам файл. (Я могу ошибаться, потому что не знаю, что должна содержать переменная classpath.)
Однако в Eclipse это работает нормально. Проверка URL-адреса с помощью команды curl в командной утилите Windows также дает адекватный результат. Как заставить программу работать с кодом VS, т. е. печатать выходное значение в терминале, как это происходит у меня в Eclipse?
Изменить: в стеке вызовов написано «Приостановлено при исключении». После перезапуска кода VS я вижу следующую ошибку в терминале отладки: Ошибка: «не удалось открыть `C:\Users\user_name\AppData\Local\Temp\cp_cv21kp9y53rhj7ktohm5sg1vq.argfile'». В папке с моим именем нет папки AppData. . ClassNotFoundException показано на следующем изображении: ClassNotFoundException в «BuiltInClassLoader».
Моя системная переменная CLASSPATH содержит следующие пути: C:\...\src\package_1 \рандомизатор\*; C:\...\src\package_1\*; C:\...\.output\package_1\*; C\JSON* (где находится файл json-simple.jar) и некоторые другие. ;
Мой путь к классам кода VS (параметры проекта) содержит путь cli/java_projects/src; (если эта информация важна)

Подробнее здесь: https://stackoverflow.com/questions/792 ... -out-print
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»