Как парсить json на java
Перейти к содержимому

Как парсить json на java

  • автор:

Как парсить json response в java?

Я хотел бы узнать как удобнее всего можно парсить респонсы, которые приходят в формате json?
Есть API интерфейс, который возвращает информацию по объектам (что-то около 1000+ объектов). Мне в этих объектах нужны только id и пара значений. Я понимаю, что нужно итерациями парсить и записывать всё, но не до конца понимаю, каким образом это можно сделать на практике.

К слову на java получилось отправлять get запросы, а респонс записывать в строчную переменную, но вроде как проще парсить json, нежели строку на несколько тысяч символов.

  • Вопрос задан более двух лет назад
  • 417 просмотров

1 комментарий

Средний 1 комментарий

Парсинг JSON с помощью Jackson

Большая часть веба на сегодняшний день обменивается данными в формате JSON. Веб-серверы, веб-приложения и мобильные приложения, даже устройства IoT общаются друг с другом, используя JSON. Простой и гибкий способ обработки JSON необходим любому программному обеспечению, чтобы выжить в современном мире.

Эта статья сопровождается примером рабочего кода на GitHub.

Что такое JSON?

JSON (от англ JavaScript Object Notation) — это текстовый формат для представления структурированных данных на основе синтаксиса объектов JavaScript. Благодаря своему гибкому и простому формату он стал чрезвычайно популярным. По сути, он следует модели карты «ключ-значение», допускающей вложенные объекты и массивы:

< "array": [ 1, 2, 3 ], "boolean": true, "color": "gold", "null": null, "number": 123, "object": < "a": "b", "c": "d" >, "string": "Hello World" >

Что такое Jackson?

Jackson в основном известен как библиотека, которая конвертирует строки JSON и простые объекты Java (англ POJO — Plain Old Java Object). Он также поддерживает многие другие форматы данных, такие как CSV, YML и XML.

Многие предпочитают Jackson благодаря его зрелости (он существует уже 13 лет) и отличной интеграции с популярными фреймворками, такими как Spring. Более того, это проект с открытым исходным кодом, который активно развивается и поддерживается широким сообществом.

Под капотом у Jackson есть три основных пакета: Streaming, Databind и Annotations. При этом Jackson предлагает нам три способа обработки преобразования JSON-POJO:

Потоковое API

Это самый быстрый подход из трех и с наименьшими накладными расходами. Он читает и записывает содержимое JSON в виде дискретных событий. API предоставляет JsonParser, который считывает JSON в POJO, и JsonGenerator, который записывает POJO в JSON.

Модель дерева

Модель дерева создает в памяти древовидное представление документа JSON. ObjectMapper отвечает за построение дерева из узлов JsonNode. Это наиболее гибкий подход, поскольку он позволяет перемещаться по дереву узлов, когда документ JSON не соответствует в достаточной мере POJO.

Привязка данных

Это позволяет нам выполнять преобразование между документами POJO и JSON с помощью средств доступа к свойствам или с помощью аннотаций. Он предлагает два типа привязки:

  • Простая привязка данных, которая преобразует JSON в Java Maps, Lists, Strings, Numbers, Booleans, null объекты и обратно.
  • Полная привязка данных, которая преобразует JSON в любой класс Java и из него.

ObjectMapper

ObjectMapper — наиболее часто используемая часть библиотеки Jackson, так как является самым простым способом преобразования между POJO и JSON. Она находится в com.fasterxml.jackson.databind .

Метод readValue() используется для преобразования (десериализации) JSON из строки, потока или файла в POJO.

С другой стороны, метод writeValue() используется для преобразования POJO в JSON (сериализация).

Способ, которым ObjectMapper определяет, какое поле JSON соответствует какому полю POJO, заключается в сопоставлении имен полей JSON с именами геттеров и сеттеров в POJO.

Это делается путем удаления частей «get» и «set» в именах геттеров и сеттеров и преобразования первого символа имени оставшегося метода в нижний регистр.

Например, предположим, у нас есть поле JSON с именем name : ObjectMapper сопоставит его с геттером getName() и сеттером setName() в POJO.

ObjectMapper является настраиваемым, и мы можем кастомизировать его в соответствии с нашими потребностями либо непосредственно через экземпляр ObjectMapper , либо с помощью аннотаций Jackson, как мы увидим позже.

Зависимости Maven

Прежде чем мы посмотрим на код, нам нужно добавить зависимость Jackson Maven jackson-databind, которая, в свою очередь, транзитивно добавляет jackson-annotations и jackson-core .

 com.fasterxml.jackson.core jackson-databind 2.13.3 

Мы также используем Lombok для обработки шаблонного кода для геттеров, сеттеров и конструкторов.

Базовая сериализация и десериализация JSON с Jackson

Давайте рассмотрим наиболее важные варианты использования Jackson с примерами кода.

Базовое преобразование POJO/JSON с использованием ObjectMapper

Давайте начнем с представления простого POJO под названием Employee:

@Getter @AllArgsConstructor @NoArgsConstructor public class Employee

Начнем с преобразования POJO в строку JSON:

public class JacksonTest < ObjectMapper objectMapper = new ObjectMapper(); @Test void pojoToJsonString() throws JsonProcessingException < Employee employee = new Employee("Mark", "James", 20); String json = objectMapper.writeValueAsString(employee); System.out.println(json); >>

В качестве вывода увидим следующее:

Теперь посмотрим, как преобразовать строку JSON в объект Employee с помощью ObjectMapper .

public class JacksonTest < . @Test void jsonStringToPojo() throws JsonProcessingException < String employeeJson = ""; Employee employee = objectMapper.readValue(employeeJson, Employee.class); assertThat(employee.getFirstName()).isEqualTo("Jalil"); > >

ObjectMapper также предлагает богатый API для чтения JSON из разных источников в разные форматы, давайте проверим самые важные из них.

Создание POJO из файла JSON

Это делается с помощью метода readValue() .

Файл JSON в тестовых ресурсах employee.json :

public class JacksonTest < . @Test void jsonFileToPojo() throws IOException < File file = new File("src/test/resources/employee.json"); Employee employee = objectMapper.readValue(file, Employee.class); assertThat(employee.getAge()).isEqualTo(44); assertThat(employee.getLastName()).isEqualTo("Simpson"); assertThat(employee.getFirstName()).isEqualTo("Homer"); >>
Создание POJO из массива байт в формате JSON
public class JacksonTest < . @Test void byteArrayToPojo() throws IOException < String employeeJson = ""; Employee employee = objectMapper.readValue(employeeJson.getBytes(), Employee.class); assertThat(employee.getFirstName()).isEqualTo("Jalil"); > >
Создание списка POJO из JSON

Иногда документ JSON представляет собой не объект, а список объектов. Давайте посмотрим, как можно его прочитать.

public class JacksonTest < . @Test void fileToListOfPojos() throws IOException < File file = new File("src/test/resources/employeeList.json"); ListemployeeList = objectMapper.readValue(file, new TypeReference<>()<>); assertThat(employeeList).hasSize(2); assertThat(employeeList.get(0).getAge()).isEqualTo(33); assertThat(employeeList.get(0).getLastName()).isEqualTo("Simpson"); assertThat(employeeList.get(0).getFirstName()).isEqualTo("Marge"); > >
Создание Map из JSON

Мы можем преобразовать JSON в Java Map , что очень удобно, если мы не знаем, чего ожидать от файла JSON, который мы пытаемся спарсить. ObjectMapper превратит имя каждой переменной в JSON в ключ для Map, а значение этой переменной — в значение по этому ключу.

public class JacksonTest < . @Test void fileToMap() throws IOException < File file = new File("src/test/resources/employee.json"); Mapemployee = objectMapper.readValue(file, new TypeReference<>()<>); assertThat(employee.keySet()).containsExactly("firstName", "lastName", "age"); assertThat(employee.get("firstName")).isEqualTo("Homer"); assertThat(employee.get("lastName")).isEqualTo("Simpson"); assertThat(employee.get("age")).isEqualTo(44); > >
Игнорирование неизвестных полей JSON

Иногда ожидаемый нами JSON может иметь дополнительные поля, не определенные в POJO. Поведение Jackson по умолчанию заключается в том, чтобы в таких случаях генерировать исключение UnrecognizedPropertyException . Однако же мы можем настроить Jackson так, чтобы он не расстраивался по поводу неизвестных полей и просто игнорировал их. Это делается путем установки FAIL_ON_UNKNOWN_PROPERTIES ObjectMapper в false.

public class JacksonTest < . @Test void fileToPojoWithUnknownProperties() throws IOException < File file = new File("src/test/resources/employeeWithUnknownProperties.json"); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); Employee employee = objectMapper.readValue(file, Employee.class); assertThat(employee.getFirstName()).isEqualTo("Homer"); assertThat(employee.getLastName()).isEqualTo("Simpson"); assertThat(employee.getAge()).isEqualTo(44); >>

Работа с датами in Jackson

Преобразование дат может быть непростым занятием, поскольку они могут быть представлены во многих форматах и уровнях спецификации (секунды, миллисекунды и т. д.).

Дата в JSON

Прежде чем говорить о преобразовании дат и Jackson, нам нужно поговорить о новом Date API в Java 8. Он был введен для устранения недостатков более старых java.util.Date и java.util.Calendar . В основном нас интересует использование класса LocalDate , который предлагает эффективный способ представления даты и времени.

Для этого нам нужно добавить в Jackson дополнительный модуль, чтобы он мог обрабатывать LocalDate .

 com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.13.3 

Затем нам нужно сказать ObjectMapper найти и зарегистрировать новый модуль, который мы только что добавили.

public class JacksonTest < ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules(); . @Test void orderToJson() throws JsonProcessingException < Order order = new Order(1, LocalDate.of(1900,2,1)); String json = objectMapper.writeValueAsString(order); System.out.println(json); >>

В этом случае поведение Jackson по умолчанию состоит в том, чтобы показывать дату как [гггг-ММ-дд]. Таким образом, вывод будет

Однако мы можем указать Jackson, в каком формате нам нужна дата. Это можно сделать с помощью аннотации @JsonFormat .

public class Order < private int id; @JsonFormat(pattern = "dd/MM/yyyy") private LocalDate date; >
@Test void orderToJsonWithDate() throws JsonProcessingException
JSON в дату

Мы можем использовать ту же конфигурацию выше, чтобы преобразовать поле JSON в дату.

public class JacksonTest < . @Test void fileToOrder() throws IOException < File file = new File("src/test/resources/order.json"); Order order = objectMapper.readValue(file, Order.class); assertThat(order.getDate().getYear()).isEqualTo(2000); assertThat(order.getDate().getMonthValue()).isEqualTo(4); assertThat(order.getDate().getDayOfMonth()).isEqualTo(30); >>

Аннотации Jackson

Важную роль в настройке процесса преобразования JSON/POJO играют аннотации. Мы видели пример с преобразованием даты, где мы использовали аннотацию @JsonFormat . Аннотации влияют на то, как данные читаются, записываются или даже на то и другое. Давайте рассмотрим некоторые из этих аннотаций на основе их категорий.

Аннотации чтения

Они влияют на то, как Jackson преобразует JSON в POJO.

@JsonSetter

Это полезно, когда мы хотим сопоставить поле в строке JSON с полем в POJO, где их имена не совпадают.

@NoArgsConstructor @AllArgsConstructor @Getter public class Car
public class JacksonTest < . @Test void fileToCar() throws IOException < File file = new File("src/test/resources/car.json"); Car car = objectMapper.readValue(file, Car.class); assertThat(car.getBrand()).isEqualTo("BMW"); >>

@JsonAnySetter

Эта аннотация полезна в случаях, когда JSON содержит некоторые поля, не объявленные в POJO. Он используется с сеттером, который вызывается для каждого нераспознанного поля.

public class Car < @JsonSetter("carBrand") private String brand; private MapunrecognizedFields = new HashMap<>(); @JsonAnySetter public void allSetter(String fieldName, String fieldValue) < unrecognizedFields.put(fieldName, fieldValue); >>
public class JacksonTest < . @Test void fileToUnrecognizedCar() throws IOException < File file = new File("src/test/resources/carUnrecognized.json"); Car car = objectMapper.readValue(file, Car.class); assertThat(car.getUnrecognizedFields()).containsKey("productionYear"); >>
Аннотации записи

Они влияют на то, как Jackson преобразует POJO в JSON.

@JsonGetter

Это полезно, когда мы хотим сопоставить поле POJO с полем JSON, используя другое имя. Например, предположим, что у нас есть класс Cat с полем name , но мы хотим, чтобы его JSON-имя было catName .

@NoArgsConstructor @AllArgsConstructor public class Cat < private String name; @JsonGetter("catName") public String getName() < return name; >>
public class JacksonTest < . @Test void catToJson() throws JsonProcessingException < Cat cat = new Cat("Monica"); String json = objectMapper.writeValueAsString(cat); System.out.println(json); >>

@JsonAnyGetter

Эта аннотация позволяет нам использовать объект Map как источник свойств JSON. Скажем, у нас есть эта карта как поле в классе Cat .

@NoArgsConstructor @AllArgsConstructor public class Cat < private String name; @JsonAnyGetter Mapmap = Map.of( "name", "Jack", "surname", "wolfskin" ); . >
@Test void catToJsonWithMap() throws JsonProcessingException

Вывод будет следующим:

Аннотации чтения и записи

Эти аннотации влияют как на чтение, так и на запись JSON.

@JsonIgnore

Поле с аннотацией игнорируется как при записи, так и при чтении JSON.

@AllArgsConstructor @NoArgsConstructor @Getter public class Dog
public class JacksonTest < . @Test void dogToJson() throws JsonProcessingException < Dog dog = new Dog("Max", 3); String json = objectMapper.writeValueAsString(dog); System.out.println(json); >>

То же самое относится и к чтению в POJO.

Предположим, у нас есть файл dog.json :

public class JacksonTest < . @Test void fileToDog() throws IOException < File file = new File("src/test/resources/dog.json"); Dog dog = objectMapper.readValue(file, Dog.class); assertThat(dog.getName()).isEqualTo("bobby"); assertThat(dog.getAge()).isNull(); >>

У Jackson есть еще много полезных аннотаций, которые дают нам больше контроля над процессом сериализации/десериализации. Полный их список можно найти в репозитории Jackson на Github.

Резюме

  • Jackson — одна из самых мощных и популярных библиотек для обработки JSON в Java.
  • Jackson включает три основных модуля: Streaming API, Tree Model и Data Binding.
  • Jackson предоставляет ObjectMapper, который легко настраивается в соответствии с потребностями, с возможностью задавать его свойства и использовать аннотации.

Приглашаем всех желающих на открытый урок «Реляционные базы данных для начинающих Java-разработчиков». На уроке поговорим о месте реляционных баз данных в архитектуре информационных систем. Рассмотрим основные компоненты и возможности РСУБД на примере PostgreSQL. Сделаем обзор основных технологий по работе с реляционными БД в Java (JDBC, JPA/Hibernate, Spring Data и др.). Регистрируйтесь по ссылке.

  • Блог компании OTUS
  • Программирование
  • Java

Java json parser – пример работы парсера

В этом посте мы разберем подробный пример парсера Java JSON. JSON(JavaScript Object Notation) – это простой текстовый формат, который облегчает чтение и запись. Это широко используемый формат обмена данными, поскольку его анализ и генерация просты в использовании.

В языке Java есть несколько способов обработки JSON. В этом примере мы собираемся использовать общий набор инструментов – JSON.simple – и узнаем, как анализировать каждый тип файла.

jsonobject

Установка среды

Перед началом написания кода программы, мы должны установить подходящую среду для компилятора, чтобы распознавать классы JSON. Если необходимо построить проект с помощью Maven, нужно добавить следующую запись в pom.xml:

 com.googlecode.json-simple json-simple 1.1  

Иначе необходимо добавить версию json-simple-1.1.1.jar в CLASSPATH.

Пример парсинга JSON

Разберем, как мы можем проанализировать и произвести чтение файла json, для этого нужно создать наш собственный файл, он будет называться jsonTestFile.json. Он имеет следующую структуру:

jsonTestFile.json: < "id": 1, "firstname": "Katerina", "languages": [ < "lang": "en", "knowledge": "proficient" >, < "lang": "fr", "knowledge": "advanced" >], "job": < "site": "www.hr-vector.com", "name": "Java Code" >>

Теперь необходимо создать файл Java в проекте с именем JsonParseTest и вставить следующий код.

package com.hrvector.javabasics.jsonparsertest; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Iterator; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class JsonParseTest < private static final String filePath = "C:\\Users\\katerina\\Desktop\\jsonTestFile.json"; public static void main(String[] args) < try < // считывание файла JSON FileReader reader = new FileReader(filePath); JSONParser jsonParser = new JSONParser(); JSONObject jsonObject = (JSONObject) jsonParser.parse(reader); // получение строки из объекта String firstName = (String) jsonObject.get("firstname"); System.out.println("The first name is: " + firstName); // получение номера из объекта long jsonObject.get("id"); System.out.println("The id is: " + id); // получение массива JSONArray lang= (JSONArray) jsonObject.get("languages"); // берем элементы массива for(int i=0; iIterator i = lang.iterator(); // берем каждое значение из массива json отдельно while (i.hasNext()) < JSONObject innerObj = (JSONObject) i.next(); System.out.println("language "+ innerObj.get("lang") + " with level " + innerObj.get("knowledge")); >// обрабатываем структуру в объекте JSONObject structure = (JSONObject) jsonObject.get("job"); System.out.println("Into job structure, name: " + structure.get("name")); > catch (FileNotFoundException ex) < ex.printStackTrace(); >catch (IOException ex) < ex.printStackTrace(); >catch (ParseException ex) < ex.printStackTrace(); >catch (NullPointerException ex) < ex.printStackTrace(); >> >

Объясним данный код. После создания экземпляра JSONParser мы создаем объект JSONObject.

Он содержит коллекцию пар ключ-значение, из которых мы можем получить каждое значение. Чтобы распарсить объекты, вызывается метод get() экземпляра JSONObject, определяющий указанный ключ в качестве аргумента.

Важно применить подходящий метод. Для типов массивов в файле json используется JSONArray, который представляет упорядоченную последовательность значений. В программном коде итератор должен использоваться для получения каждого значения массива json.

Структура в файле предполагает создание нового объекта JSONObject для получения значений.

Полученный результат парсинга приведен ниже.

Output: The first name is: Katerina The id is: 1 The 0 element of the array: The 1 element of the array: language en with level proficient language fr with level advanced Into job structure, name: Java Code

Метод с использованием JsonPATH

Два приведенных выше примера требуют полной десериализации JSON в объект Java перед получением значения. Другой альтернативой является использование JsonPATH, который похож на XPath для JSON и позволяет обходить объекты JSON.

Вам нужно добавить JsonPATH, которую можно получить из репозитория maven.(https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path)

import com.jayway.jsonpath.JsonPath; public class ParseJSON < static String json = ". "; public static void main(String[] args) < String pageName = JsonPath.read(json, "$.pageInfo.pageName"); System.out.println(pageName); Integer posts = JsonPath.read(json, "$.posts.length()"); for(int i=0; i < posts; i++) < String post_id = JsonPath.read(json, "$.posts[" + i + "].post_id"); System.out.println(post_id); >> >

java json parser пример

Средняя оценка 3.3 / 5. Количество голосов: 21

Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

Напишите комментарий, что можно добавить к статье, какой информации не хватает.

Кофе-брейк #175. Как мы можем прочитать файл JSON в Java? Что такое Java Development Kit (JDK)?

Java-университет

Кофе-брейк #175. Как мы можем прочитать файл JSON в Java? Что такое Java Development Kit (JDK)? - 1

Источник: DZone JSON — это простой формат для хранения и отправки данных на веб-страницу. Обычно он используется в JavaScript, но сегодня мы узнаем, как с ним работать в Java.

Чтение файла JSON в Java

  • JSON — это текстовый файл, поэтому его можно легко передавать.
  • JSON не зависит от конкретного языка.
Синтаксис

Данные в файле JSON должны быть в формате пар имя/значение, запятыми разделяют различные данные. Фигурные скобки используются для хранения объектов, а квадратные скобки — для хранения массивов.

Особенности JSON
  • Простой.
  • Имеет независимую платформу.
  • Легко передать.
  • Поддерживает расширяемость.
  • Наличие совместимости.
Типы данных
  • String — строка представлена ​​внутри кавычек.
  • Number — представляет числовые символы.
  • Boolean – состоит либо из true, либо из false.
  • Null – пустой.

JSON в Java

  • JSON-объекты;
  • JSON-массивы.

JSON-объекты

JSON-объекты представлены между фигурными скобками. Объекты должны быть в парах ключ/значение (key/value). Ключ представлен в виде String, а значения представляют любые типы данных, упомянутые выше. Пример:

 Key, value pairs -

JSON-массивы

Массивы JSON используются для хранения объектов. Эти объекты заключены в квадратные скобки []. Пример:

В приведенном выше примере сведения о студентах представлены в виде массива, а внутри массива данные о студентах хранятся в виде объектов.

Простая программа для JSON на Java

 import org.json.simple.JSONObject; public class Json < public static void main(String args[]) < JSONObject j = new JSONObject(); j.put("Name", "Kotte"); j.put("College", "BVRIT"); j.put("Branch" , "Computer science engineering"); j.put("Section", "CSE-C"); System.out.println(j); >> 

Чтение файла JSON в Java

Чтобы прочитать файл JSON в Java, необходимо использовать метод FileReader(). Пример:

Приведенный выше код — это файл, который используется для чтения. Мы используем библиотеку json.simple .

 //program for reading a JSON file import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.*; public class JSON < public static void main(Strings args[]) < // file name is File.json Object o = new JSONParser().parse(new FileReader(File.json)); JSONObject j = (JSONObject) o; String Name = (String) j.get("Name"); String College = (String ) j.get("College"); System.out.println("Name :" + Name); System.out.println("College :" +College); >> 

Name: Kotte College: BVRIT

В данной программе используется JSONParser().parse() , который присутствует в org.json.simple.parser.* для анализа файла File.json.

Что такое Java Development Kit (JDK)?

Источник: Medium Эта публикация ознакомит вас с работой и сферой использования Java Development Kit. В своей работе программисты часто используют Java Development Kit (Комплект для разработки Java), известный как JDK. Он представляет собой кроссплатформенный набор инструментов и библиотек для создания программных приложений и апплетов на основе Java. Пакет JDK включает в себя как виртуальную машину Java (известную как JVM), так и среду выполнения Java (известную как JRE). Также в JDK имеется компилятор javac, инструменты мониторинга производительности, отладчик, стандартные библиотеки классов Java, примеры, документация и различные утилиты. Разработкой Java Development Kit (JDK) занимается корпорация Oracle. В ее продукте реализованы JVMS, JLS и Java API SE (API). Помимо коммерческой версии Oracle представила на рынке бесплатную версию пакета OpenJDK. Также на рынке Java-разработки существуют альтернативные JDK от других компаний. Если единственное, что вы хотите сделать на своем компьютере, — это запускать Java-приложения, то вам не нужно беспокоиться о различиях между Java Runtime Environment (JRE) и Java Development Kit (JDK). Однако вам понадобится Java Development Kit (JDK) для создания программного обеспечения на основе Java. Среда выполнения Java (JRE), входящая в состав JDK, называется частной средой выполнения (Private Runtime). Эта среда отличается от стандартной JRE тем, что включает дополнительные компоненты. Также она дает разработчикам доступ к виртуальной машине Java (JVM) и всем библиотекам классов, используемым в производственных средах, в дополнение к библиотекам интернационализации и IDL.

Самые популярные JDK

  • Azul Systems Zing : высокопроизводительная виртуальная машина Java с малой задержкой для Linux.
  • Azul Systems (для Linux, Windows, Mac OS X и IBM J9 JDK: для AIX, Linux, Windows и многих других операционных систем).
  • Amazon Corretto (OpenJDK и долгосрочная поддержка включены).

Скомпилируйте и запустите код Java с помощью JDK

Вы можете создать исполняемую программу Java из текстового файла с помощью компилятора JDK. При компиляции ваш Java-код преобразуется в байт-код с расширением .class . Для начала вам нужно создать текстовый файл Java и сохранить его под уникальным именем. В данном случае мы сохраняем Hello.java в качестве имени файла. Затем запустите инструмент компиляции Java командой javac , и все готово. Чтобы избежать получения сообщения об ошибке, такого как “The system cannot locate a path supplied” (Система не может найти указанный путь), вы должны указать полный путь к вашему текстовому файлу Java. Hello — это имя файла, а полному пути к файлу предшествует Hello в следующем примере команды. Путь и исполняемый файл для javac.exe должны быть заключены в кавычки. Теперь, когда Hello.class создан, вы можете увидеть его в том же каталоге, что и Hello.java , что очень удобно. Теперь вы можете выполнить свой код, просто набрав java hello в своем терминале. Имейте в виду, что запуск вашего кода не требуется включение файла .class.

Компонент Jar

В JDK включены многие важные инструменты. Помимо javac чаще всего используется инструмент jar. В нем можно найти не что иное, как набор классов Java. Как только файлы .class будут готовы, вы можете упаковать их и сохранить в архиве, известном как “jar”. После этого jar-файл можно запускать в мобильной среде (Android).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *