Как создать class файл в java

Обновлено: 04.07.2024

Сегодня я расскажу как устроен базовый проект Java, как компилируется код и как выполнить готовую программу.

Java Source и каталоги классов

Например, если вы используете инструмент сборки Maven, вы, как правило, будете использовать другую структуру каталогов, где исходный код Java хранится в каталоге src/main/java(в корневом каталоге вашего проекта).

Когда вы компилируете весь исходный код в Java, компилятор создает один файл .class для каждого файла .java. .Class содержит скомпилированную версию файла .java. Байт-код для файла .java, другими словами.

Это файлы .class, которые может выполнять виртуальная машина. Не файлы .java. Поэтому нормально отделять файлы .java от файлов .class. Обычно это делается путем указания компилятору записать файлы .class в отдельный каталог.

Этот каталог часто называют классами, но, опять же, он не является обязательным, и он зависит от того, какой инструмент сборки используете, IDE и т. д.

Компиляция исходного кода Java

Вы можете скомпилировать исходный код Java непосредственно из вашей IDE(если вы используете IDE). Или вы можете использовать компилятор, который поставляется вместе с Java SDK. Чтобы выполнить компиляцию java кода из командной строки, сделайте следующее:

Эта команда выполняет javac(компилятор), которая скомпилирует код в каталоге src / myfirstapp. * . А даже точнее все файлы в данном каталоге.

Выполнение скомпилированного кода

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

Вы можете запустить любой из этих файлов .class, в котором есть метод main(). Вы можете запустить .class изнутри вашей Java IDE или из командной строки. Запуск из командной строки это выглядит так:

Флаг -cp сообщает виртуальной машине, что все ваши классы находятся в каталоге, называемом классы. Это также называется «путь к классу»(отсюда сокращение cp).

Когда вы запустите класс, ваша командная строка будет выглядеть примерно так(включая вывод из приложения):

Обратите внимание, что в первой команде не должно быть разрыва строки. Я добавил это только для того, чтобы было легче читать.

Создание и запуск первого Java-приложения (часть 1) Итак, установка JDK завершена, пакет создан, класс создан, время приступить к собственно написанию кода. После создания класса соответствующий ему файл HelloWorld.java открывается в редакторе. Обратите внимание на оператор пакета в начале файла, а также объявление класса. При создании класса, IntelliJ IDEA использует файл шаблона для класса Java. (IntelliJ IDEA предоставляет ряд предопределенных шаблонов для создания файлов различных типов. Дополнительные сведения см. в разделе File Templates в IntelliJ IDEA Help.) Также обратите внимание на желтую лампочку. Эта лампа указывает, что в IntelliJ IDEA есть предложения для текущего контекста. Нажмите на лампочку или ALT + ENTER, чтобы увидеть список доступных действий. В данный момент мы не собираемся выполнять действия, предложенные IntelliJ IDEA (такие действия называются intention actions - "действия-намерения", подробнее о них см. в разделе Intention Actions в IntelliJ IDEA Help.) Заметим, однако, что эта функция IntelliJ IDEA иногда может быть очень полезной. Наконец, есть маркеры сворачивания кода рядом с комментариями. Нажмите одну из них, чтобы свернуть соответствующий блок, если действительно не хотите видеть эту часть кода в данный момент. (Вы можете также поместить курсор в коде блока, а затем нажать сочетание клавиш CTRL + NumPad- или CTRL + NumPad+, чтобы свернуть или развернуть блок. Получить дополнительную информацию по сворачиванию кода можно в разделе Code Folding в IntelliJ IDEA Help.)

Написание кода для класса HelloWorld

Создание и запуск первого Java-приложения (часть 2) - 5

Итак, наконец этот момент настал. Код в конечном состоянии (как вы, наверное, знаете) будет выглядеть следующим образом: Объявление пакета и класса уже есть, теперь добавим недостающие пару строк. Поместите курсор в конец текущей строки, после знака <, и нажмите ENTER, чтобы начать новую строку (На самом деле, можно сделать проще: независимо от позиции курсора, нажатие клавиш SHIFT + ENTER начинает новую строку, сохраняя предыдущие строки без изменений).

Использование активного шаблона для метода Main()

Создание и запуск первого Java-приложения (часть 2) - 6

Строку: вполне можно и просто напечатать. Однако рекомендовал бы вам другой метод. Печатаем: psvm и нажимаем TAB. В результате получаем: В данном случае мы использовали активный шаблон генерации кода объекта. Активный шаблон имеет аббревиатуру- строку, определяющую шаблон (PSVM = public static void main в этом примере) и клавишу для вставки фрагмента в код (TAB в данном случае). Дополнительную информацию можно найти в разделе Live Templates в IntelliJ IDEA Help.

Использование автоматического завершения кода

Теперь пришло время добавить оставшиеся строки кода ( System.out.println ("Hello, World!"); ). Мы сделаем это с помощью операции автоматического завершения кода в IntelliJ IDEA. Печатаем: Sy Автоматическое завершение кода предлагает нам варианты: В данном случае вариант только один: System (java.lang) . Нажимаем ENTER, чтобы выбрать его. Печатаем точку и букву "о": .о Функция автоматического завершения кода снова предлагает нам варианты: Нажимаем ENTER, чтобы выбрать out. Печатаем: .printl Обратите внимание, как изменяется список вариантов в процессе ввода. Метод, который мы ищем — Println (String х) . Выбираем println(String x) . Код принимает следующий вид: Печатаем кавычки: " Как видите, вторые кавычки появляются автоматически, а курсор перемещается в место, где должен быть наш текст. Печатаем: Hello, World! Этап написания кода завершен.

Использование активного шаблона для Println ()

К слову, мы могли бы выполнить вызов Println() с помощью активного шаблона. Аббревиатура для соответствующего шаблона — Sout . а клавиша активации — TAB. Вы можете попробовать использовать этот шаблон в качестве дополнительного упражнения. (Если вы думаете, что с вас достаточно активных шаблоны, перейдите по созданию проекта). Удалите строку: Печатаем: sout и нажимаем TAB. Строка: добавляется автоматически, и курсор оказывается в скобках. Нам остается напечатать: Hello, World!

Строительство проекта

\out\production\ , в нашем случае, и папка

Создание и запуск первого Java-приложения (часть 2) - 17

и называются HelloWorld), вы увидите там структуру папок для пакета com.example.helloworld и HelloWorld.class файл в папке HelloWorld. Если вы хотите разобраться в строительстве приложения лучше, обратитесь к разделам IntelliJ IDEA Help: Build Process, Compilation Types, Configuring Module Compiler Output и Configuring Project Compiler Output.

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

Поток выполнения Java-программы

Выполнение программы Java

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

Что такое файл в Java?

При чтении файла в Java мы должны знать класс файлов Java. Класс Java File представляет файлы и имена каталогов в абстрактной манере. Класс File имеет несколько методов для работы с каталогами и файлами, таких как создание новых каталогов или файлов, удаление и переименование каталогов или файлов и т. д. Объект File представляет фактический файл / каталог на диске.

Теперь давайте разберемся с различными методами создания файла.

Методы для создания файла в Java

1. Создайте файл с классом java.io.File

Вам нужно использовать метод File.createNewFile(). Этот метод возвращает логическое значение:

  • истина, если файл выполнен.
  • false, если файл уже существует или операция по какой-то причине не открывается.

Этот метод также генерирует исключение java.io.IOException, когда он не может создать файл.

Когда мы создаем объект File, передавая имя файла, он может быть с абсолютным путем, или мы можем предоставить только имя файла, или мы можем предоставить относительный путь. Для неабсолютного пути объект File пытается найти файлы в корневом каталоге проекта.

Если мы запустим программу из командной строки, для неабсолютного пути объект File попытается найти файлы из текущего каталога. Экземпляры класса File являются неизменяемыми; то есть, после создания абстрактный путь, представленный объектом File, никогда не изменится.

Теперь давайте рассмотрим небольшой пример и разберемся, как он работает.

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

2. Создайте файл с классом java.io.FileOutputStream

Если вы хотите создать новый файл и в то же время, если хотите записать в него некоторые данные, вы можете использовать метод записи FileOutputStream. В Java FileOutputStream является классом потока байтов. Чтобы записать данные в файл, вы должны преобразовать данные в байты, а затем сохранить их в файл.

Класс FileOutputStream хранит данные в виде отдельных байтов. Может использоваться для создания текстовых файлов. Файл представляет собой хранилище данных на втором носителе, таком как жесткий диск или компакт-диск. Метод FileOutputStream.write() автоматически создает новый файл и записывает в него содержимое.

public static Path createFile(Path path, FileAttribute<?>. attrs) throws IOException

Создает новый и пустой файл, и если файл уже существует, то будет ошибка.

Далее, давайте посмотрим на создание временного файла.

4. Java также может создавать временные файлы

Создание временного файла в java может потребоваться во многих сценариях, но в основном это происходит во время модульных тестов, где вы не хотите сохранять результаты. Как только тестовый пример закончен, вас не волнует содержимое файла.

Создание временного файла с использованием java.io.File.createTempFile()

с использованием NIO

Для создания временного файла используются следующие два метода.

Вышеуказанный метод принимает четыре аргумента.

Путь -> указать каталог, в котором будет создан файл.

Строка -> чтобы упомянуть префикс имени файла. Используйте ноль, чтобы избежать префикса.

Строка -> чтобы упомянуть суффикс имени файла. т.е. расширение файла. Используйте null, чтобы использовать .tmp в качестве расширения.

attrs -> Это необязательно, чтобы упоминать список атрибутов файла, чтобы установить атомарно при создании файла

Классы Java являются одними из основных строительных блоков приложений Java, наборов инструментов, платформ, API и т. д. Небольшое приложение может состоять из одного класса с методом main(). По мере роста программы хранение всего кода в одном классе усложняет его обзор. Поэтому может быть полезно начать разбивать код на несколько классов.

Должен храниться в своем собственном файле. Следовательно, с ростом класса файл, который вы редактируете, также увеличивается, и становится все труднее держать его в голове.

Ваше приложение обычно должно содержать хотя бы один класс, но оно может содержать их столько, на сколько считаете целесообразным разделить ваше приложение. Java также поставляется с большим количеством предопределенных классов, так что вам не нужно кодировать каждую маленькую функцию.

Класс может содержать следующие строительные блоки:

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

Определение класса Java

Это определяет общедоступный класс под названием MyClass. Не имеет полей, конструкторов или методов.

Файлы .java

Приведенное выше определение следует поместить в его собственный файл с именем MyClass.java. Файлы должны называться так же, как и имя класса, который они содержат, с расширением .java в качестве расширения имени файла.

Убедитесь, что вы сохраняете одинаковые прописные и строчные буквы из имени класса в имени файла.

Класс с полями

Класс может содержать данные в форме переменных, их обычно называют «полями».

В следующем примере показан класс, предназначенный для моделирования автомобиля. Поэтому назван Car и имеет три поля:

У класса Car нет методов. Только полевые объявления.

С конструктором

С методами

Класс также может содержать операции, обычно называемые методами. Метод содержит инструкции Java, которые обычно выполняют некоторые операции над полем в классе или над одним из значений параметров (также переменных), передаваемых методу при вызове метода.

Вот пример Car из предыдущего раздела с добавленным методом:

В приведенном выше определении класса добавлен метод setColor(). При вызове этот метод устанавливает внутреннюю переменную цвета (поле) в новое значение.

С вложенным классом

Как упоминалось ранее, вы можете определить вложенный класс внутри другого:

Объекты

Для создания объектов определенного класса вы используете ключевое слово new. Вот пример:

В этом примере создаются 3 переменные Car, и каждой присваивается новый экземпляр класса Car. Каждая из них теперь ссылается на объект Car, но на отдельный объект, также называемый экземпляром. Если вы измените поля одного объекта, поля других объектов не изменятся. Таким образом, поля разных объектов (даже одного и того же класса) могут различаться независимо друг от друга.

После создания 3 объектов Car метод setColor() вызывается для каждого объекта. Теперь цвет (представленный в виде текста) устанавливается индивидуально для каждого объекта Car.

Создание объекта определенного класса также называется «создание экземпляра» объекта. Таким образом, объект также называется «экземпляром» данного класса. Например, каждый из вышеперечисленных объектов Car также называется экземпляром класса Car или просто «экземплярами Car».

Читайте также: