Π Π°Π·Π½ΠΎΠ΅

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» java: Класс File. Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ БобствСнный Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π€Π°ΠΉΠ»Π° Π’ Java

Π­Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΎΠ½ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ.

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для сохранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· созданного Π²Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. НапримСр,.doc ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Microsoft Word.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ сСбС:

Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρ„Π°ΠΉΠ» доступСн для чтСния людьми?

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.html.

Если Π΄Π°, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ (ΠΈΠ»ΠΈ создайтС) синтаксис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, XML (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

<supersoft>
<preference>
<some-preference foo="bar" />
</preference>
<data>
<some-data foo="baz" />
</data>
</supersoft>

Если Π½Π΅Ρ‚, просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ своих классов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса Serializable. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ маяк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ скаТСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²ΠΈΠ΄ Ρ„Π°ΠΉΠ»Π°, Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

SuperSoft1101100111010110110010111010110101010101010110101011010101101010101011011010101010101010110101011010101101010101

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос:

КакоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ я Ρ…ΠΎΡ‡Ρƒ?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ принятых ΠΈΠΌΠ΅Π½. Если Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅.jpg, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ваша ОБ попытаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдства просмотра ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Ссли экстСнсон ΡƒΠΆΠ΅ сущСствуСт.

ПослСдний вопрос:

Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ я ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°?

НапримСр, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π½Π°.xls автоматичСски ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Excel. Π­Ρ‚ΠΎΡ‚ шаг зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ОБ.

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ сохранСниС ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅.

Java ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ»

Π₯отя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π½Π΅Π΅ рассмотрСнных классов ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ тСкст Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π΄Π» Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΈΡ… возмоТностСй для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ нСдостаточно. И для этой Ρ†Π΅Π»ΠΈ слуТат совсСм Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ наслСдниками абстрактных классов Reader ΠΈ Writer .

Π—Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ². Класс FileWriter

Класс FileWriter являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ класса Writer. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записи тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ².

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ FileWriter, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… конструкторов:

Π’Π°ΠΊ, Π² конструктор пСрСдаСтся Π»ΠΈΠ±ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² Π²ΠΈΠ΄Π΅ строки, Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ File, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ». ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ append ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° (Ссли ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π²Π΅Π½ true), Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ Π² Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ тСкст:

Π’ конструкторС использовался ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ append со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ false – Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ. Π—Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ классС Writer производится запись Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ². Класс FileReader

Класс FileReader наслСдуСтся ΠΎΡ‚ абстрактного класса Reader ΠΈ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для чтСния тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ².

Для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FileReader ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ конструкторов:

А ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Π±Π°Π·ΠΎΠΌ классС Reader, произвСсти Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°:

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΈΠ· массива символов:

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС считываСм ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ символы ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² массив ΠΈΠ· 256 символов, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° Π² этом случаС ΠΌΠ΅Ρ‚ΠΎΠ΄ read Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ число -1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Java Π½Π΅ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΆ слоТноС Π΄Π΅Π»ΠΎ. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Java.

Π‘Π½Π°Ρ‡Π°Π»Π° научимся, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Java.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов для этого, Π½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм ΠΎ Ρ‚Ρ€Π΅Ρ… способах создания Ρ„Π°ΠΉΠ»Π°.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс java.io.FileΒΆ

ΠŸΡ€ΠΈ установлСнии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° File Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈ дальшС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ createNewFile(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ создаСт Π½ΠΎΠ²Ρ‹ΠΉ пустой Ρ„Π°ΠΉΠ» с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ абстрактного ΠΏΡƒΡ‚ΠΈ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ сущСствуСт.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт ΠΈ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false, Ссли Ρ„Π°ΠΉΠ» сущСствуСт. Он Ρ‚Π°ΠΊΠΆΠ΅ создаСт java.io.IOException, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ». Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» пуст ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π±Π°ΠΉΡ‚.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ использован для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», созданный Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создаСт Ρ„Π°ΠΉΠ», Π½ΠΎ Π½Π΅ записываСт ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Когда Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ ΠΈ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс java.io.FileOutputStreamΒΆ

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ FileOutputStream.write. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ автоматичСски создаСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ записываСт Π² Π½Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ FileOutputStream ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записи Π±Π°ΠΉΡ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ». Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ символьно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FileWriter.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ использованиС ΠΊΠΎΠ΄Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Java NIO Files.write()ΒΆ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс Java NIO Files для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ записи ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π½Π΅ΠΌ. Π­Ρ‚ΠΎΡ‚ Java класс прСдставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ write(Path path, byte[] bytes, OpenOption… options), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСт Π±Π°ΠΉΡ‚Ρ‹ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ.

Π‘ использованиСм класса Files Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для записи ΠΈ чтСния Ρ„Π°ΠΉΠ»Π°.

Files.write() – это Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ создания Ρ„Π°ΠΉΠ»Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π΅ придСтся Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ рСсурсов IO.

Π­Ρ‚ΠΎΡ‚ класс ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • lines – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для рСализования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов. Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ строки тСкста ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. КаТдая строка – это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов ΠΈ записываСтся ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ. КаТдая строка заканчиваСтся Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ строки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • options – Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ создаСтся ΠΈΠ»ΠΈ открываСтся Ρ„Π°ΠΉΠ». Если Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ CREATE, TRUNCATE_EXISTING and WRITE. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» для записи ΠΈ создаСт Ρ„Π°ΠΉΠ», Ссли ΠΎΠ½ Π½Π΅ сущСствуСт, ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ 0, Ссли Ρ„Π°ΠΉΠ» сущСствуСт.
  • path – Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ.
  • cs – Набор символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ

All the bytes in byte array are written to the file. This method ensures that the file is closed when all the bytes have been written and returns the path of written file.

БСгодня ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ создания Ρ„Π°ΠΉΠ»Π° Π² Java, ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ нас ΠΏΠΎΠ΄ΡΡ‚Π΅Ρ€Π΅Π³Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ рассмотрим Ρ€Π°Π·Π½Ρ‹Π΅ способы создания Ρ„Π°ΠΉΠ»Π°.

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Java Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс java.io.File . Π’ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° File ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ имя Ρ„Π°ΠΉΠ»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сам Ρ„Π°ΠΉΠ» Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° createNewFile() . Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΡƒΠ»Π΅Π²ΠΎ true , Ссли Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» создан ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈ false , Ссли Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ сущСствуСт. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ бросаСт java.io.IOException , ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ».

НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΏΠΎ созданию Ρ„Π°ΠΉΠ»Π° Π² Java

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Java ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… способов, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ File :

  • Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ
  • Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°
  • ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ (Π² этом случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»Π° пытаСтся Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°)

ΠŸΡ€ΠΈ создании ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство систСмы File.separator , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ платформонСзависимой.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы создания Ρ„Π°ΠΉΠ»Π° Π² простой Java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Π² Java

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ — это Π½Π°Π²Ρ‹ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ послуТит Π²Π°ΠΌ Π² вашСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π΅ программиста. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Java.

Под тСкстовым Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ Ρ„Π°ΠΉΠ» с тСкстом — всС просто! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Π² Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΊΠ°ΠΊ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Windows, TextEdit Π½Π° Mac, Gedit Π² срСдС Linux/Gnome.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлаСм, это ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ Π΅Π³ΠΎ содСрТимоС.

Как ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ»

Для этой Ρ†Π΅Π»ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. НазовитС ΠΏΠ°ΠΊΠ΅Ρ‚ openandread, Π° класс ReadFile. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅ названия ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса:

import java.io.IOException;

Π’Π°ΡˆΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

package openandread;
import java.io.IOException;

public class ReadFile {

    public static void main(String[] args) throws IOException {
         
    }  
}

Π§Ρ‚ΠΎΠ±Ρ‹ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ с нашими тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ main (тСкст Π½Π° синСм Ρ„ΠΎΠ½Π΅):

public static void main(String[] args) throws IOException {

}

ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Java, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ main Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ IOException, ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ. ПозТС ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±Π»ΠΎΠΊ try … catch, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ», Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим Π½ΠΎΠ²Ρ‹ΠΉ класс. Π˜Ρ‚Π°ΠΊ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ File > New File Π² мСню NetBeans Π²Π²Π΅Ρ€Ρ…Ρƒ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Java Class ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ имя FileData. Когда ваш Π½ΠΎΠ²Ρ‹ΠΉ класс Π±ΡƒΠ΄Π΅Ρ‚ создан, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:

import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;

Π’Π°Ρˆ Π½ΠΎΠ²Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

(ВсС Ρ‚Ρ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ с Π½ΠΈΠΌΠΈ Π½Π΅ сдСлали. Π­Ρ‚ΠΎ функция NetBeans.)

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Java, ΠΌΡ‹ создадим Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· этого класса. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ конструктор Π² свой ΠΊΠΎΠ΄ вмСстС с ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ String с ΠΈΠΌΠ΅Π½Π΅ΠΌ path_to_file:

public class FileData {
    
    private String path_to_file;
    
    public FileData (String path) {
        path_to_file = path;
    }
 
}

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ здСсь Π΄Π΅Π»Π°Π΅ΠΌ, это ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, содСрТащСй ΠΏΡƒΡ‚ΡŒ ΠΊ тСкстовому Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ присваиваСм этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠ΅ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² дальнСйшСм Π² нашСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС строки ΠΊΠΎΠ΄Π° ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°. Они Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² массивС. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ объявлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ„Π°ΠΉΠ»:

НС ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΈΠ·-Π·Π° красного подчСркивания: ΠΎΠ½ΠΎ исчСзнСт, ​​как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄. NetBeans добавляСт ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° return.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ настроСн Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ массива String:

public String[]

Массив Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС строки ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° throws IOException. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Java, нуТдаСтся Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅. Throw Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒΒ». Java выбросит ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ смоТСм ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² нашСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ main.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ символы ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ FileReader. Он Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚Ρ‹ ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π°ΠΉΡ‚ являСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ символом.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ строки тСкста, Π° Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ символы. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² FileReader классу BufferedReader. BufferedReader ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ReadLine. Как слСдуСт ΠΈΠ· названия, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для чтСния Ρ†Π΅Π»Ρ‹Ρ… строк, Π° Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… символов. А Π²ΠΎΡ‚ BufferedReader сохраняСт символы Π² памяти (Π² Π±ΡƒΡ„Π΅Ρ€Π΅), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΈ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ установим FileReader ΠΈ BufferedReader:

public String[] OpenAndRead() throws IOException {
        
    FileReader x = new FileReader(path_to_file);
    BufferedReader varRead = new BufferedReader(x);
 
}

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаСм Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ FileReader, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ x; Π²Ρ‚ΠΎΡ€ΠΎΠΉ — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BufferedReader с ΠΈΠΌΠ΅Π½Π΅ΠΌ varRead.

FileReader ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ считываСт Ρ„Π°ΠΉΠ», исходя ΠΈΠ· ΠΏΡƒΡ‚ΠΈ ΠΊ Π½Π΅ΠΌΡƒ. Π­Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΡ‹ сохраняСм Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ path_to_file. А дальшС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅.

Π’ BufferedReader пСрСдаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ FileReader (Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках). ВсС символы Ρ„Π°ΠΉΠ»Π° Π·Π°Ρ‚Π΅ΠΌ сохранятся Π² памяти Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ манипуляции. Они сохранятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ varRead.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкст ΠΈΠ· нашСго тСкстового Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ массив. КаТдая позиция Π² массивС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ»Π½ΡƒΡŽ строку тСкста. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² свой ΠΊΠΎΠ΄:

int num = 3;
String[] lines = new String[num];

БСйчас ΠΌΡ‹ установили количСство строк Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ Ρ€Π°Π²Π½Ρ‹ΠΌ 3. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС количСство строк, ΠΈ ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ, сколько ΠΈΡ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ вскорС ΠΌΡ‹ это ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ. ΠœΡ‹ напишСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство строк Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ устанавливаСм массив строк. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² массивС (Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€) устанавливаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ количСству строк. ΠœΡ‹ помСстили эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС строки тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² массивС, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ†ΠΈΠΊΠ». Π¦ΠΈΠΊΠ» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку тСкста ΠΈ помСстит ΠΈΡ… Π² массив. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ΠΊΠΎΠ΄:

int i;
for (i = 0; i < num; i++) {
    lines[i] = varRead.readLine();
}

Π’Π°ΡˆΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

public String[] OpenAndRead() throws IOException {

    FileReader x = new FileReader(path_to_file);
    BufferedReader varRead = new BufferedReader(x);
        
    int num = 3;
    String[] lines = new String[num];
        
    int i;
    for (i = 0; i < num; i++) {
        lines[i] = varRead.readLine();
    }

}

Π¦ΠΈΠΊΠ» for ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚ 0 Π΄ΠΎ мСньшС, Ρ‡Π΅ΠΌ количСства строк. (ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ массива Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0. Π’Ρ€ΠΈ строки Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Π² позициях 0, 1 ΠΈ 2.)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обращаСмся ΠΊ строкам тСкста ΠΈ сохраняСм ΠΈΡ… Π² массив:

lines[i] = varRead. readLine();

ПослС Π·Π½Π°ΠΊΠ° равСнства ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ это:

varRead.readLine();

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ varRead, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ установили, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всС символы ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² памяти (Π² Π±ΡƒΡ„Π΅Ρ€Π΅). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ readLine, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ строку тСкстового Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ строка ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π°, ΠΌΡ‹ сохраняСм Π΅Π΅ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ массива:

lines[i]

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ с ΠΈΠΌΠ΅Π½Π΅ΠΌ i Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· согласно условиям Ρ†ΠΈΠΊΠ»Π°, проходя Ρ‡Π΅Ρ€Π΅Π· вСсь массив, хранящий наш тСкст.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

varRead.close();
return lines;

ΠœΠ΅Ρ‚ΠΎΠ΄ close ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ памяти с ΠΈΠΌΠ΅Π½Π΅ΠΌ varRead. ВозвращаСмая строка Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вСсь массив. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для этого массива ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ.

Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ написаниС ΠΊΠΎΠ΄Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, всС эти ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²Ρ‹Π΅ подчСркивания Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ. Π’Π°Ρˆ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

public String[] OpenAndRead() throws IOException {

    FileReader x = new FileReader(path_to_file);
    BufferedReader varRead = new BufferedReader(x);
        
    int num = 3;
    String[] lines = new String[num];
        
    int i;
    for (i = 0; i < num; i++) {
        lines[i] = varRead.readLine();
    }
        
    varRead.close();
    return lines;
}

Однако всС Π΅Ρ‰Π΅ сущСствуСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° количСства строк. ΠœΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ТСсткоС 3. Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ вСсь тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, сколько Π² Π½Π΅ΠΌ строк. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² класс FileData:

int numStrings() throws IOException {

    FileReader text = new FileReader(path_to_file);
    BufferedReader y = new BufferedReader(text);
        
    String one;
    int num = 0;
        
    while ((one = y.readLine()) != null) {
        num++;
    }
    y. close();
        
    return num;
}

Новый ΠΌΠ΅Ρ‚ΠΎΠ΄ называСтся numStrings ΠΈ настроСн Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ цСлочислСнного значСния. Π­Ρ‚ΠΎ количСство строк Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ IOException.

Π’ этом ΠΊΠΎΠ΄Π΅ устанавливаСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ FileReader ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ BufferedReader. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ» наш тСкст, ΠΌΡ‹ написали:

while ((one = y.readLine()) != null) {
    num++;
}

Π¦ΠΈΠΊΠ» while выглядит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ грязно. Но ΠΎΠ½ просто Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Β«ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку тСкста ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнуто Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β». (Если Java ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»Π° вСсь тСкстовый Ρ„Π°ΠΉΠ», ΠΈ большС Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ строк, вСрнСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null.) Π’ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик с ΠΈΠΌΠ΅Π½Π΅ΠΌ num.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ Π±ΡƒΡ„Π΅Ρ€ памяти с ΠΈΠΌΠ΅Π½Π΅ΠΌ y ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ количСство строк.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ этот Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² дСйствиС, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ OpenAndRead это:

int num = 3;Β 

На это:

int num = numStrings();

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вмСсто ТСсткого указания количСства строк, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ наш Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк Π² любом тСкстовом Ρ„Π°ΠΉΠ»Π΅.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ тСкстовый Ρ„Π°ΠΉΠ» ΠΈ смоТСт Π»ΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ классу ReadFile, классу с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ main. УстановитС ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния ΠΈΠΌΠ΅Π½ΠΈ тСкстового Ρ„Π°ΠΉΠ»Π°:

package openandread;
import java.io.IOException;

public class ReadFile {

    public static void main(String[] args) throws IOException {

        String new_path = "D:/test.txt";

    }  
}

На этом этапС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠœΡ‹ создали Π΅Π³ΠΎ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Windows:

Имя тСкстового Ρ„Π°ΠΉΠ»Π° — test.txt. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρƒ сСбя. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΡƒΠ΄Π° Π²Ρ‹ Π΅Π³ΠΎ сохраняСтС, Ρ‡Ρ‚ΠΎΠ± ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ:

String new_path = "D:/test.txt";

Если Π±Ρ‹ ΠΌΡ‹ создали ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyFiles для хранСния этого Ρ„Π°ΠΉΠ»Π°, ΠΏΡƒΡ‚ΡŒ Π±Ρ‹Π» Π±Ρ‹ Β«D: /MyFiles/test. txtΒ». Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, — это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· нашСго класса FileData. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ смоТСм Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ наш тСкстовый Ρ„Π°ΠΉΠ» Π² Java. ΠœΡ‹ сдСлаСм это Π² Π±Π»ΠΎΠΊΠ΅ try … catch.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ String:

try {
    FileData new_file = new ReadFile(new_path);
    String[] aryStrings = new_file.OpenAndRead();

}
catch (IOException a) {
    System.out.println(a.getMessage());
}

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ всС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки для Π±Π»ΠΎΠΊΠ° try … catch. Π’Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΎΠ΄Π½Π° ΠΏΠ°Ρ€Π° для части try ΠΈ другая — для части catch. Для ΠΏΡ€ΠΎΠ±Π½ΠΎΠΉ части Ρƒ нас Π΅ΡΡ‚ΡŒ это:

FileData new_file = new ReadFile(new_path);
String[] aryStrings = new_file.OpenAndRead();

ΠŸΠ΅Ρ€Π²Π°Ρ строка устанавливаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ FileData с ΠΈΠΌΠ΅Π½Π΅ΠΌ new_file. Π’ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках FileData ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ new_path. Π­Ρ‚ΠΎΠ³ΠΎ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ конструктору ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ΅Π½.

Вторая строка ΠΊΠΎΠ΄Π° устанавливаСт массив String с ΠΈΠΌΠ΅Π½Π΅ΠΌ aryStrings. ПослС Π·Π½Π°ΠΊΠ° равСнства ΠΌΡ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ OpenAndRead нашСго класса FileData. Если ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ тСкстовый Ρ„Π°ΠΉΠ», Ρ‚ΠΎ массив тСкстовых строк Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π½ΠΎΠ²ΠΎΠΌΡƒ массиву aryStrings.

Однако, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, появится ошибка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ помСстили Π² части catch Π±Π»ΠΎΠΊΠ° try … catch:

catch (IOException a) {
    System.out.println(a.getMessage());
}

ПослС слова catch Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках Ρƒ нас Π΅ΡΡ‚ΡŒ это:

IOException a

Для этого ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΡ‹ устанавливаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ a, которая ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ IOException. Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° IOException Π΅ΡΡ‚ΡŒ собствСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся getMessage. Π­Ρ‚ΠΎ даст ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сообщСния ΠΎΠ± ошибкС, Π΄Π°Π²Π°ΠΉΡ‚Π΅ пройдСмся ΠΏΠΎ всСм строкам тСкстового Ρ„Π°ΠΉΠ»Π°, распСчатав ΠΊΠ°ΠΆΠ΄ΡƒΡŽ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Ρ†ΠΈΠΊΠ»Π° Π² try Π±Π»ΠΎΠΊΠ° try … catch:

int i;
for (i = 0; i < aryStrings.length; i++) {
    System.out.println(aryStrings[i]);
}

Π’Π°ΡˆΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

package openandread;
import java.io.IOException;

public class ReadFile {

    public static void main(String[] args) throws IOException {

        String new_path = "D:/test.txt";
        
        try {
            FileData new_file = new FileData(new_path);
            String[] aryStrings = new_file.OpenAndRead();
            
            int i;
            for (i = 0; i < aryStrings.length; i++) {
                System. out.println(aryStrings[i]);
            }
        }
        catch (IOException a) {
            System.out.println(a.getMessage());
        }   
    }  
}

Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°, Π² ΠΎΠΊΠ½Π΅ Β«Π’Ρ‹Π²ΠΎΠ΄Β» Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Java ΠΌΡ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΈΠ· нашСго тСкстового Ρ„Π°ΠΉΠ»Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΡƒΡŽ ошибки, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя вашСго тСкстового Ρ„Π°ΠΉΠ»Π° Π½Π° Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Π½Π΅ Π±Ρ‹Π» создан. Π—Π°Ρ‚Π΅ΠΌ запуститС этот ΠΊΠΎΠ΄. Π’ ΠΎΠΊΠ½Π΅ Β«Π’Ρ‹Π²ΠΎΠ΄Β» Π½ΠΈΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наш тСкстовый Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° test2, ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ:

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ собствСнноС сообщСниС ΠΎΠ± ошибкС Π² Π±Π»ΠΎΠΊ catch:

catch (IOException e) {
    System.out.println("Извини, Π΄Ρ€ΡƒΠ³, Π½Π΅ ΠΌΠΎΠ³Ρƒ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ!");
}   

Как ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с русскими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ Π² Java

Если вас интСрСсуСт, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» Π½Π° русском языкС, Ρ‚ΠΎ:

  1. НуТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько import:
    import java. io.InputStreamReader;
    import java.io.Reader;
    import java.io.FileInputStream;
    

  2. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ numStrings Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ строку:
    FileReader text = new FileReader(path_to_file);
    

    На эту:

    Reader text = new InputStreamReader(new FileInputStream(path_to_file), "Cp1251");
    

  3. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ OpenAndRead Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ строку:
    FileReader x = new FileReader(path_to_file);
    

    На эту:

    Reader x = new InputStreamReader(new FileInputStream(path_to_file), "Cp1251");
    

Cp1251 – это ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ тСкстовый Ρ„Π°ΠΉΠ». ΠœΡ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ символы ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ InputStreamReader ΠΈ FileInputStream.

Окно Β«Π’Ρ‹Π²ΠΎΠ΄Β» Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запись Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ тСкстовый Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ΄ Java.

Intellij Idea — созданиС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Настало врСмя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСский ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с IntelliJ. Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ создадим наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠœΡ‹ напишСм ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Hello World . Π’ этой Π³Π»Π°Π²Π΅ описываСтся компиляция ΠΈ запуск прилоТСния Java.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Для всСго, Ρ‡Ρ‚ΠΎ связано с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с IntelliJ. Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€”

  • ЗапуститС IntelliJ.

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π€Π°ΠΉΠ» β†’ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ β†’ МСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° .

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ SDK ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”Π°Π»Π΅Π΅Β».

ЗапуститС IntelliJ.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π€Π°ΠΉΠ» β†’ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ β†’ МСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° .

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ SDK ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”Π°Π»Π΅Π΅Β».

  • Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main, Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β» ΠΈΠ· Ρ„Π»Π°ΠΆΠΊΠ° шаблона.

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅.

  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ мСстополоТСниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

  • НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main, Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β» ΠΈΠ· Ρ„Π»Π°ΠΆΠΊΠ° шаблона.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ мСстополоТСниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚

ΠŸΠ°ΠΊΠ΅Ρ‚ создаСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Java ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с созданиСм класса. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ β€”

  • ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ пСрспСктивС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Project, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ New-> Module .

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ пСрспСктивС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Project, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ New-> Module .

  • НовоС ΠΎΠΊΠ½ΠΎ модуля Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Java ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ SDK ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π”Π°Π»Π΅Π΅.

  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя модуля.

  • НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

НовоС ΠΎΠΊΠ½ΠΎ модуля Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Java ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ SDK ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π”Π°Π»Π΅Π΅.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя модуля.

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Java

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Java. Класс Java ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΏΠΎΠ΄ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Java. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ β€”

  • ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ пСрспСктивС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  • Π Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Project ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ src ΠΈΠ· модуля.

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ; Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ New-> Java Class.

  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя класса Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК.

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° с объявлСниСм класса.

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ пСрспСктивС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Project ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ src ΠΈΠ· модуля.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ; Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ New-> Java Class.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя класса Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° с объявлСниСм класса.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Java. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия ΠΈ посмотритС, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм простой ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ сообщСниС Π½Π° консоли. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° β€”

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ имя класса ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

Если Π½Π΅Ρ‚ ошибок компиляции, Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π°.

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ распространСниС Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java

Π’ Π΄Π°Π½Π½ΠΎΠΉ части ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ курса ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для распространСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² срСдС IDE ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ срСды IDE. ΠœΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² исполняСмый Ρ„Π°ΠΉΠ» JAR.

Π€Π°ΠΉΠ» JAR – это Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ. Π€Π°ΠΉΠ»Ρ‹ JAR ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ Ρ„Π°ΠΉΠ»Π°ΠΌ ZIP, Π½ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ JAR ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈ распространСнии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. Π’ число этих Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² входят цифровая подпись Ρ„Π°ΠΉΠ»ΠΎΠ² JAR, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сТатиС, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Ρ‚. Π΄.

Π’ этом ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ ΠΌΡ‹ создаСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ срСды IDE ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π² этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π²Π° Π·Π°Ρ€Π°Π½Π΅Π΅ написанных Ρ„Π°ΠΉΠ»Π° исходного ΠΊΠΎΠ΄Π° Java. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ скомпилируСм классы ΠΈ создадим исполняСмый Ρ„Π°ΠΉΠ» JAR. ПослС этого ΠΌΡ‹ посмотрим, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ JAR Π²Π½Π΅ срСды IDE.

ΠšΠ»Π°ΡΡΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ руководствС, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слуТСбной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ GNU grep, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска тСкста ΠΈΠ»ΠΈ шаблонов рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ…. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‚Π°ΠΊ ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ графичСский интСрфСйс, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы запуска прилоТСния.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² исходного ΠΊΠΎΠ΄Π°

  1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» DeploymentTutorial.zip ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ Π΅Π³ΠΎ содСрТимоС.
    Π”Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ² ZIP содСрТит Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° для прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² этом руководствС.

    1. Π’ IDE NetBeans Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ‘Π€Π°ΠΉΠ»’ > ‘Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚’.

    2. На страницС Choose Category («Π’Ρ‹Π±ΠΎΡ€ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ») Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Java Project With Existing Sources («ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Java с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ») Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Java ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Next («Π”Π°Π»Π΅Π΅»).

    3. На страницС Name and Location («Π˜ΠΌΡ ΠΈ мСстополоТСниС») мастСра Π²Π²Π΅Π΄ΠΈΡ‚Π΅ AnotherGrep Π² ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ мСстополоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
      НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”Π°Π»Π΅Π΅».

ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с мСстополоТСниСм исходных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

  1. На страницС мастСра Existing Sources («Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ исходныС Ρ„Π°ΠΉΠ»Ρ‹») ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
    НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Add Folder («Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ») справа ΠΎΡ‚ поля Source Package Folders («ΠŸΠ°ΠΏΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² исходного ΠΊΠΎΠ΄Π°»). ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ DeploymentTutorial , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ, Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ src ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Open («ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ»). Папка src Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊ полю Source Package Folders («ΠŸΠ°ΠΏΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² исходного ΠΊΠΎΠ΄Π°»).

  2. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ‘Π”Π°Π»Π΅Π΅’, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ послСднСС ΠΎΠΊΠ½ΠΎ ‘Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ & Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚’. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅ src поэтому наТимаСтся ΠΊΠ½ΠΎΠΏΠΊΠ° ‘Π“ΠΎΡ‚ΠΎΠ²ΠΎ’, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² мастСрС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ откроСтся Π² срСдС IDE ΠΈ отобразится Π² ΠΎΠΊΠ½Π΅ «ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹». Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ² Π΅Π³ΠΎ ΡƒΠ·Π΅Π» ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² исходного ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ классы Grep ΠΈ xGrep . Grep.java – Ρ„Π°ΠΉΠ» консольной вСрсии прилоТСния. xGrep.java – Ρ„Π°ΠΉΠ» вСрсии прилоТСния с графичСским интСрфСйсом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Grep.java .

Настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Для настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько дСйствий:

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Java, которая Π±ΡƒΠ΄Π΅Ρ‚ использована для компиляции Ρ„Π°ΠΉΠ»ΠΎΠ² исходного ΠΊΠΎΠ΄Π°.

  • ΠΠ°Π·Π½Π°Ρ‡ΡŒΡ‚Π΅ Π³Π»Π°Π²Π½Ρ‹ΠΉ класс ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» JAR, создаваСмый ΠΏΡ€ΠΈ построСнии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π±ΡƒΠ΄Π΅Ρ‚ исполняСмым.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java

Наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ скомпилирован ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Java 7 ΠΈΠ»ΠΈ Java 8. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Java 7 ΠΈΠ»ΠΈ Java 8 соотвСтствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  1. ΠŸΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡƒΠ·Π΅Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ элСмСнт «Π‘войства».

  2. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ» Π² качСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π° вСрсия JDK 1. 7 (ΠΈΠ»ΠΈ JDK 1.8).

  3. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Sources («Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ») Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ JDK 7 (ΠΈΠ»ΠΈ JDK 8) ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²/Ρ„Π°ΠΉΠ»ΠΎΠ² исходного ΠΊΠΎΠ΄Π°.

  4. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «OК», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Project («Π‘войства»).

НазначСниС Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ класса

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ создаваСмый Ρ„Π°ΠΉΠ» JAR (Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π΅Π³ΠΎ ΠΈΠ»ΠΈ ввСдя java -jar AnotherGrep.jar Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ класс Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° манифСста manifest Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ JAR. (Π€Π°ΠΉΠ» манифСста являСтся стандартной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π°Ρ€Ρ…ΠΈΠ²Π° JAR, содСрТащСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π΅ JAR, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° для срСдства запуска java ΠΏΡ€ΠΈ запускС прилоТСния.) Π“Π»Π°Π²Π½Ρ‹ΠΉ класс слуТит Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ срСдство запуска java запускаСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° срСда IDE создаСт Ρ„Π°ΠΉΠ» JAR ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² Π½Π΅Π³ΠΎ манифСст. ΠŸΡ€ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ класса ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΡ‹ убСТдаСмся, Ρ‡Ρ‚ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΉ класс ΡƒΠΊΠ°Π·Π°Π½ Π² манифСстС.

Для назначСния Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ класса ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. ΠŸΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡƒΠ·Π΅Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ элСмСнт «Π‘войства».

  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ anothergrep.xGrep Π² ΠΏΠΎΠ»Π΅ ‘Основной класс’.

  3. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΠš» для закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° «Π‘войства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°».

ΠŸΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½ΠΈΠΆΠ΅ Π² этом руководствС Π±ΡƒΠ΄Π΅Ρ‚ создан манифСст, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ запись:

Main-Class: anothergrep.xGrep

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ созданиС Ρ„Π°ΠΉΠ»Π° JAR

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° настроСны, ΠΏΠΎΡ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

  • К ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π΄Π°Π»Π΅Π΅ ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΠΎΠΉ «ΠΏΠ°ΠΏΠΊΠ° PROJECT_HOME«) Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°ΠΏΠΊΠΈ build ΠΈ dist .

  • ВсС исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Ρ‹ .class , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΏΠΊΡƒ PROJECT_HOME/build .

  • Π’ ΠΏΠ°ΠΏΠΊΠ΅ PROJECT_HOME/dist создаСтся Π°Ρ€Ρ…ΠΈΠ² JAR, содСрТащий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

  • Если для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ JDK), Π² ΠΏΠ°ΠΏΠΊΠ΅ dist создаСтся ΠΏΠ°ΠΏΠΊΠ° lib . Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΏΠΊΡƒ dist/lib .

  • Π€Π°ΠΉΠ» манифСста manifest Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ JAR обновляСтся Π·Π° счСт Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ записСй, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π½Ρ‹ΠΉ класс ΠΈ всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² ΠΏΡƒΡ‚ΠΈ классов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Manifest ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΠΎΠΊΠ½Π΅ ‘Π€Π°ΠΉΠ»Ρ‹’ IDE. ПослС построСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΎΠΊΠ½ΠΎ Files («Π€Π°ΠΉΠ»Ρ‹») ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ dist/AnotherGrep.jar . Π Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΡƒΠ·Π΅Π» Ρ„Π°ΠΉΠ»Π° JAR, Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ META-INF ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ MANIFEST.MF , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Manifest Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ исходного ΠΊΠΎΠ΄Π°.

Main-Class: anothergrep.xGrep

(Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… манифСста ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ курсС ΠΏΠΎ Java).

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ JAR ΠΈ Manifest Π² Java

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° JAR

Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ своСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Π° Π½Π΅ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ классов. JAR-Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для этой Ρ†Π΅Π»ΠΈ. Π€Π°ΠΉΠ» JAR ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ классов, Ρ‚Π°ΠΊ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π²ΡƒΠΊΠ° ΠΈ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π² JAR-Ρ„Π°ΠΉΠ»Π΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ zip.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° JAR β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

Π€Π°ΠΉΠ» JAR создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта JAR. ΠžΠ±Ρ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

 jar options jar-file [manifest-file] file1 file2 file3 ...
  • jar-file: имя Ρ„Π°ΠΉΠ»Π° jar, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт jar.
  • file1, file2, file3: Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» jar. manifest-file β€” это имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит манифСст этого jar-Ρ„Π°ΠΉΠ»Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ манифСст-Ρ„Π°ΠΉΠ» Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.
  • c : создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ пустой Π°Ρ€Ρ…ΠΈΠ² ΠΈ добавляСт Π² Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Ρ‹. Если ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² являСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° jar ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ… рСкурсивно.
  • C : Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ мСняСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • e: создаСт Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° Π² манифСст.
  • f : ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° JAR Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Если этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ отсутствуСт, jar Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² стандартный Π²Ρ‹Π²ΠΎΠ΄ (ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»Π° JAR) ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° (ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ‚Π°Π±ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° JAR).
  • я : создаСт индСксный Ρ„Π°ΠΉΠ».
  • m : добавляСт Ρ„Π°ΠΉΠ» манифСста Π² Ρ„Π°ΠΉΠ» JAR. ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ β€” это описаниС содСрТимого Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈ Π΅Π³ΠΎ происхоТдСния. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ‚ манифСст ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ свой собствСнный, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС Π°Ρ€Ρ…ΠΈΠ²Π°.
  • М : НС создаСт Ρ„Π°ΠΉΠ» манифСста для записСй.
  • t: ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ оглавлСния.
  • u: обновляСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» JAR.
  • v: Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄.
  • x: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Если Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эти Ρ„Π°ΠΉΠ»Ρ‹. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ.
  • 0: ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‹ Π±Π΅Π· сТатия zip.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ jar ΠΏΠΎΡ‡Ρ‚ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ tar Π² UNIX. Π’ ΠΎΠΊΠ½Π°Ρ… Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ справку ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ jar, просто Π½Π°Π±Ρ€Π°Π² jar Π² cmd ΠΈ Π½Π°ΠΆΠ°Π² Enter, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ :

Для создания Ρ„Π°ΠΉΠ»Π° JAR с двумя классами server.class ΠΈ client.class ΠΈ Jpeg image logo.jpeg Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

 jar cvf chat.jar server.class client.class logo.jpeg

Π’Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -v вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ jar, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠ΄ΡƒΡ‚ Π΄Π΅Π»Π°.

Π€Π°ΠΉΠ» манифСста

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» JAR содСрТит Ρ„Π°ΠΉΠ» манифСста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ JAR-Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„Π°ΠΉΠ» манифСста ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π€Π°ΠΉΠ» манифСста ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ называСтся MANIFEST.MF ΠΈ присутствуСт Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ META-INF Π°Ρ€Ρ…ΠΈΠ²Π°. Π₯отя Ρ„Π°ΠΉΠ» манифСста ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ записи, Π½ΠΎ Ρƒ слоТных Ρ„Π°ΠΉΠ»ΠΎΠ² манифСста ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит Ρ„Π°ΠΉΠ» манифСста ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Записи Ρ„Π°ΠΉΠ»ΠΎΠ² манифСста сгруппированы Π² Ρ€Π°Π·Π΄Π΅Π»Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ записи имя Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ эти Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ свойствами нашСго Π°Ρ€Ρ…ΠΈΠ²Π°. Π€Π°ΠΉΠ» манифСста Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° m ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ jar. Но Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° манифСста, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΆΡƒΡ‚ΠΊΠΎΠ΅ сообщСниС.

 java.io.IOException: invalid manifest format

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ манифСста:

  1. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ любого Ρ€Π°Π·Π΄Π΅Π»Π° Π² Ρ„Π°ΠΉΠ»Π΅ манифСста, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вСрсия: 1.1 находится Π² допустимом Ρ€Π°Π·Π΄Π΅Π»Π΅, вмСсто этого Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ: 1.1, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ ΠΈ 1.1 Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  2. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ основного класса Π½Π΅ слСдуСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .class Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠΌΠ΅Π½ΠΈ класса. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ основной класс, Π½Π°Π±Ρ€Π°Π²:
    Main-Class: Classname

    (ΠžΡ‡Π΅Π½ΡŒ скоро я расскаТу ΠΎ сСкции Main-Class).

  3. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ / n для указания Π½ΠΎΠ²ΠΎΠΉ строки, вмСсто этого просто ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ послСднюю строку вашСго Ρ„Π°ΠΉΠ»Π° манифСста пустой, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΈ.
  4. ВСкстовый Ρ„Π°ΠΉΠ» для манифСста Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ UTF-8, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вСрнСмся ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ содСрТимоС нашСго Π°Ρ€Ρ…ΠΈΠ²Π° chat.jar. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» манифСста, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

 jar uvfm chat.jar manifest.txt

Π—Π΄Π΅ΡΡŒ manifest.txt β€” это Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» манифСста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:

Π’Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π²Π° прСдупрСТдСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ пытаСмся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ прСдставлСнныС записи.

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Jar

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ e ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ jar, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° Π² Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚. Π΅. класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ запускС вашСго Java-прилоТСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» chat.jar с классом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² качСствС основного, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ β€”

 jar cvfe chat.jar client client.class server.class logo.jpeg

Π’Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .class послС ΠΈΠΌΠ΅Π½ΠΈ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ основным классом.

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись Main-Class Π² Ρ„Π°ΠΉΠ» манифСста, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅. Для ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эту запись:

 Main-Class: client

Когда основной класс установлСн, ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ jar-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, написав ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

 java -jar chat.jar

Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π·Π½Π°Ρ‡ΠΎΠΊ Ρ„Π°ΠΉΠ»Π° JAR.

Π—Π°ΠΏΠ΅Ρ‡Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

НаконСц, ΠΌΡ‹ собираСмся ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Java. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сСбя Π² Π½Π΅Π³ΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² ΠΊΠΎΠ΄Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ классы, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля. Π‘Π΅Π· запСчатывания ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ сСбя Π² Ρ‚Ρƒ ΠΆΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ функциям ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ.

Π­Ρ‚ΠΎ всС с ΠΌΠΎΠ΅ΠΉ стороны ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ JAR. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π° связи!!

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ прСдоставлСна Abhey Rana (UselessCoder) . Если Π²Ρ‹ ΠΊΠ°ΠΊ GeeksforGeeks ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ внСсти свой Π²ΠΊΠ»Π°Π΄, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ contribute.geeksforgeeks.org ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ [email protected]. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ свою ΡΡ‚Π°Ρ‚ΡŒΡŽ, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС GeeksforGeeks, ΠΈ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π²ΡƒΠ½Π΄Π΅Ρ€ΠΊΠΈΠ½Π΄Π°ΠΌ.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ обсуТдаСмой Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΌΠ΅.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ посты:

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ JAR ΠΈ Manifest Π² Java

0. 00 (0%) 0 votes

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 2. Π£Ρ€ΠΎΠΊ 4. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Java.

Π­Ρ‚ΠΎ базовая Ρ‚Π΅ΠΌΠ°. Π”Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠΊΡƒ, стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π²Π΄ΡƒΠΌΡ‡ΠΈΠ²ΠΎΠ³ΠΎ понимания этой Ρ‚Π΅ΠΌΡ‹. Π‘ΠΌΠ΅Π»Π΅Π΅ Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы Π² обсуТдСниях ΠΈ Π½Π΅ Π»Π΅Π½ΠΈΡ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ вопросы — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ для вас ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠ»ΠΈ подсказка πŸ™‚


Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΏΠΎ сути, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΈ логичСской структурой связСй классов Π² ΠΌΠΈΡ€Π΅ java. ΠžΡ‡Π΅Π½ΡŒ схоТС с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. На ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ это ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅ΠΆΠ°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ (ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹) ΠΈ классы. Но ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π΅ всСгда ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ всю структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ рСсурсы, Π° структура ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Π½Π°ΡˆΠΈΡ… классов β€” ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ лишь нСбольшой Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π΅Π΄ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ основного ΠΊΠΎΠ΄Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ тСсты, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π² Ρ†Π΅Π»ΠΎΠΌ.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для красивого размСщСния Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡ‡ΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΈΠΌΠ΅Π½, Π½ΠΎ ΠΈ для раздСлСния доступа классов Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ. ИмСнно благодаря ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ . ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π½Π°ΠΌ классам Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Как аналогию, ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с адрСсами.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбя Π² Ρ€ΠΎΠ»ΠΈ Π½Π΅ΠΊΠΎΠ³ΠΎ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Π½Π΅ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для этого ΠΌΠΈΡ€Π°. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот ΠΌΠΈΡ€ ΠΊ Π½Π°ΠΌ обратился — Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ адрСс, ΠΏΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½Π°ΠΌΠΈ. ΠŸΡƒΡΠΊΠ°ΠΉ это Π±ΡƒΠ΄Π΅Ρ‚ адрСс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

package   страна.ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.Π³ΠΎΡ€ΠΎΠ΄.Ρ€Π°ΠΉΠΎΠ½.ΡƒΠ»ΠΈΡ†Π°.Π΄ΠΎΠΌ.имяЧСловСка
         ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ_ΠΏΠ°ΠΊΠ΅Ρ‚.ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚.ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚.ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚.имяКласса
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ для класса

Для класса Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ β€” это Π΅Π³ΠΎ мСстополоТСниС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. Благодаря Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ классов Π½Π° нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” ΠΌΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Бильно забСгая Π²ΠΏΠ΅Ρ€Π΅Π΄ скаТу, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для красоты, Π½ΠΎ ΠΈ для ограничСния доступа ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ класса. НапримСр:

  • отсутствиС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ΠΌ (Π΅Ρ‰Π΅ говорят package-private) β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ класса Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ классам, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· этого ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°;
  • protected ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ΠΌ β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ класса Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классам Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠ°ΠΊ с package-private, Π½ΠΎ ΠΈ классам-наслСдникам.
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°?

По сути Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

  • ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .java Π² Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅;
  • Π² самом Ρ„Π°ΠΉΠ»Π΅, ΠΏΠΎΠΌΠΈΠΌΠΎ класса, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ имя Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Рассмотрим этот процСсс поэтапно.

Π‘Π½Π°Ρ‡Π°Π»Π° пишСм имя любимого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, ΠΏΠΎΡ‚ΠΎΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ имя Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° nano:

UserName BASH ~/projectName/src
$ nano -f /io/hexlet/xo/view/ConsoleView.java

Или с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sublime:

UserName BASH ~/projectName/src
$ subl /io/hexlet/xo/view/ConsoleView.java

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° subl Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈ Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ sublime установлСн β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды окруТСния, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ прописанного ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ subl.

МоТно ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ΠΎΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ сам Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для вас способом.

Π€Π°ΠΉΠ» создан. Но класса Π² Π½Π΅ΠΌ Π½Π΅Ρ‚. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ класс:

public class ConsoleView {
    //some field & methods
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΈ Ρ„Π°ΠΉΠ» Π² Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈ класс Π² Ρ„Π°ΠΉΠ»Π΅. Но сам класс Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π½Π΅ΠΊΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ. Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ это:

package io.hexlet.xo.view;

public class ConsoleView {
    //some field & methods
}

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»!

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ создания класса Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

  • Π²Π½ΡƒΡ‚Ρ€ΠΈ класса Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово package;
  • ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово package Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ ΠΈ объявлСниСм самого класса;
  • послС package Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, с корня ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°(ΠΏΠ°ΠΏΠΊΠΈ) Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ класс;
  • каТдая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ°, Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, отдСляСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ;
  • имя самого класса Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² имя объявляСмого ΠΏΠ°ΠΊΠ΅Ρ‚Π°;
  • Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, послС слова package, β€” Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ.
ΠšΠΎΡ€Π΅Π½ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

А ΠΊΠ°ΠΊ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΠΏΠ°ΠΏΠΊΡƒ) ΠΊΠ°ΠΊ основу ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ ΠΈ происходит Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ этих всСх ΠΏΠΎΠ΄-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΏΠΎΠ΄-ΠΏΠ°ΠΏΠΎΠΊ)? ΠŸΠΎΡ‡Π΅ΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°ΠΏΠΊΠ° io являСтся ΠΊΠΎΡ€Π½Π΅ΠΌ для классов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° ΠΏΠ°ΠΏΠΊΠ° src β€” Π½Π΅ являСтся ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

ВсС ΠΎΡ‡Π΅Π½ΡŒ просто: ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ считаСтся Ρ‚ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ прописан Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ java-Ρ„Π°ΠΉΠ»Π΅ послС слова package, Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. А Π² самом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΠ°ΠΏΠΊΠΈ src, Π½Π° Π΅Π΅ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ Π²Ρ‹ΡˆΠ΅, β€” ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² Ρ†Π΅Π»ΠΎΠΌ. Но это Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² java, Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ссли ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² классах, послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова package. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

-/projectName // Папка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ всякой всячины. 
            README.md // Ρ„Π°ΠΉΠ» с описаниСм. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚, Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
            +/out // Папка для скомпилированных Ρ„Π°ΠΉΠ»ΠΎΠ² *.class    
            -/src // Папка для исходных Ρ„Π°ΠΉΠ»ΠΎΠ² *.java
                -/io // ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°
                    StartClass.java // package io;
                    -/hexlet
                        OneMoreClass.java // package io.hexlet;
                        -/xo // Π² этой ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ классов
                            -/controllers
                                ControllerOne.java // package io.hexlet.xo.controllers;
                                Controller2.java   // package io.hexlet.xo.controllers;  
                            -/model
                                ModelClaas1.java  // package io.hexlet.xo.model;
                                ModelClass2.java  // package io.hexlet.xo.model;

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java: 10 шагов

1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный тСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.
2. Π’Π½ΡƒΡ‚Ρ€ΠΈ вашСго Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π° «class MyFirstProgram {»
НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ„ΠΈΠ³ΡƒΡ€Π½ΡƒΡŽ скобку, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° сообщаСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Π³Π΄Π΅ находится ΡΡƒΡ‚ΡŒ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
3. Π”Π²Π°ΠΆΠ΄Ρ‹ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ строки, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ «}», это сообщит ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ составляСт эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ.
4. На этом этапС ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ рисункС для этого шага.

ПониманиС кода:
На этом этапС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ фактичСски ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ЕдинствСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сдСлаСт. ЀактичСски, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, появится сообщСниС ΠΎΠ± ошибкС «Ошибка: основной ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² классС MyFirstProgram, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊΠ°ΠΊ:Β», Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку ΠΊΠΎΠ΄Π°. ΠœΡ‹ напишСм эту строку ΠΊΠΎΠ΄Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ваТная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ особый язык программирования, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Java, ΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков, Java ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ спСцифичСский способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ самовыраТСния, эта организация называСтся синтаксисом ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрирована компилятором.Π§Ρ‚ΠΎ ΠΌΡ‹ сдСлали, Ρ‚Π°ΠΊ это установили Π±Π°Π·ΠΎΠ²ΡƒΡŽ структуру этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java состоит ΠΈΠ· классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠšΠ»Π°ΡΡΡ‹, Π±ΠΎΠ»Π΅Π΅ извСстныС ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΊΠΎΠ΄. ΠšΠ»Π°ΡΡΡ‹ хранят ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ инструкции, наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ классом с ΠΎΠ΄Π½ΠΎΠΉ инструкциСй ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Π›Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎ классы — это цСлая ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ — это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ клавиши Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. БСйчас наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — это просто пустой класс (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Π±Π΅Π· клавиш).ΠœΡ‹ Π·Π½Π°Π΅ΠΌ это, ΠΈ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, компилятор Π·Π½Π°Π΅Ρ‚ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ слово Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ «класс».

ПослС прочтСния слова «класс» синтаксис Java Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΌΠ΅Ρ‚ΠΊΡƒ Π½Π° ΠΊΠ»ΡŽΡ‡Π΅), Π² этом случаС ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Β«MyFirstProgramΒ». ΠœΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ описываСт Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ: наша пСрвая! Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² ΠΈΠΌΠ΅Π½Π°Ρ… Π²Π΅Ρ‰Π΅ΠΉ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ использованиС пустого пространства Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ компилятору ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, читая имя нашСго класса, ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ способ обозначСния, какая Ρ‡Π°ΡΡ‚ΡŒ нашСго Ρ„Π°ΠΉΠ»Π° составляСт сам класс, для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки («{» «}»), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ, Π³Π΄Π΅ ΠΎΠ½ начинаСтся («{«) ΠΈ Π³Π΄Π΅ ΠΎΠ½ заканчиваСтся («}»). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш Ρ„Π°ΠΉΠ» Π΄Π΅Π»Π°Π΅Ρ‚ это, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· компилятор, компилятор создаст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нашСго класса Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для использования (клавиш для наТатия), Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ошибка.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ вашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java

Π­Ρ‚ΠΎ руководство Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с основами создания ΠΎΡ‡Π΅Π½ΡŒ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java.Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка программирования Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ начинаСтся с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Hello WorldΒ». ВсС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, это ΠΏΠΈΡˆΠ΅Ρ‚ тСкст Β«Hello World!Β». Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ шаги для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Hello World: Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java, скомпилируйтС исходный ΠΊΠΎΠ΄ ΠΈ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ исходный ΠΊΠΎΠ΄ Java

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java написаны Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.Для вашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ самый простой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΡΡ‚ΡŒ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚.

Вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выглядит Ρ‚Π°ΠΊ:

Π₯отя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ Π² свой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстрСС ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ почувствуСтС, ΠΊΠ°ΠΊ написаны ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ, Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅, , Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ! Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ странным, Π½ΠΎ каТдая допущСнная Π²Π°ΠΌΠΈ ошибка Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ программистом.ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ†Ρƒ ΠΊΠΎΠ΄Π°, ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ Π² порядкС.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° строки с Β« // Β» Π²Ρ‹ΡˆΠ΅. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Java, ΠΈ компилятор ΠΈΡ… ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚.

  1. Π‘Ρ‚Ρ€ΠΎΠΊΠ° // 1 — это ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.
  2. Line // 2 создаСт класс HelloWorld. Π’Π΅ΡΡŒ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² классС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния Java ΠΌΠΎΠ³ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ вСсь класс опрСдСляСтся Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках (Π² строкС / 2 ΠΈ строкС // 6).
  3. Π‘Ρ‚Ρ€ΠΎΠΊΠ° // 3 — это ΠΌΠ΅Ρ‚ΠΎΠ΄ main () , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда являСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Java. Он Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСтся Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках (Π² строкС // 3 ΠΈ // 5 строкС). Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΅Π³ΠΎ:
    общСдоступный : этот ΠΌΠ΅Ρ‚ΠΎΠ΄ общСдоступСн ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, доступСн для всСх.
    static : этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π΅Π· создания экзСмпляра класса HelloWorld.
    void : этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚.
    (String [] args) : этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ String.
  4. Π‘Ρ‚Ρ€ΠΎΠΊΠ° // 4 записываСт Π² консоль Β«Hello WorldΒ».

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ Β«HelloWorld.javaΒ». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ создании ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Java.

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ Β«HelloWorld.javaΒ». Java ΠΏΡ€ΠΈΠ΄ΠΈΡ€Ρ‡ΠΈΠ²ΠΎ относится ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ это ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅:

Π­Ρ‚ΠΎ инструкция для Π²Ρ‹Π·ΠΎΠ²Π° класса Β«HelloWorldΒ».Имя Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΈ этого класса, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«HelloWorld.javaΒ». Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ «.java» сообщаСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ это Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄Π° Java.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ запускаСтС Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌΠΈ прилоТСниями; ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° HelloWorld являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ консоли .Он Π½Π΅ запускаСтся Π² собствСнном ΠΎΠΊΠ½Π΅; вмСсто этого ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Окно Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° — это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Β«WindowsΒ» ΠΈ Π±ΡƒΠΊΠ²Ρƒ Β«RΒ».

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ». Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Β«cmdΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «ОК».

На вашСм экранС откроСтся ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ тСкстовой вСрсии ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Windows; это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ содСрТат, ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.ВсС это дСлаСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠΊΠ½ΠΎ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Java

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ консольной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — компилятор Java ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«javacΒ». Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° HelloWorld.java ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° язык, понятный Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. Π­Ρ‚ΠΎΡ‚ процСсс называСтся компиляциСй. ΠšΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Java, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ запуском.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ javac ΠΈΠ· ΠΎΠΊΠ½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π²Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Π³Π΄Π΅ ΠΎΠ½ находится. НапримСр, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«C: \ Program Files \ Java \ jdk \ 1.6.0_06 \ binΒ». Если Ρƒ вас Π½Π΅Ρ‚ этого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ поиск Ρ„Π°ΠΉΠ»Π° Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Windows ΠΏΠΎ запросу «javac», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΎΠ½ находится.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π΅Π³ΠΎ мСстополоТСниС, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°:

НапримСр.,

НаТмитС Π’Π²ΠΎΠ΄. Окно Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° просто вСрнСтся Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку.Однако Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ компилятору установлСн.

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сохранСн Ρ„Π°ΠΉΠ» HelloWorld.java.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

НапримСр.,

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, посмотрСв Π²Π»Π΅Π²ΠΎ ΠΎΡ‚ курсора.

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Для этого Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

НаТмитС Π’Π²ΠΎΠ΄. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ просмотрит ΠΊΠΎΠ΄, содСрТащийся Π² Ρ„Π°ΠΉΠ»Π΅ HelloWorld.java, ΠΈ попытаСтся Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Если это Π½Π΅ Ρ‚Π°ΠΊ, ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΡΠ΅Ρ€ΠΈΡŽ ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄.

НадСюсь, Ρƒ вас Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ошибок. Если Π΄Π°, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ написанный ΠΊΠΎΠ΄. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ соотвСтствуСт ΠΎΠ±Ρ€Π°Π·Ρ†Ρƒ ΠΊΠΎΠ΄Π°, ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ сохранитС Ρ„Π°ΠΉΠ».

Π‘ΠΎΠ²Π΅Ρ‚: ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ компиляции вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ HelloWorld Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.Он Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β«HelloWorld.classΒ». Π­Ρ‚ΠΎ скомпилированная вСрсия вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Π‘Π½ΠΈΠΌΠΊΠΈ экрана ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Microsoft ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Corporation.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’ ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Когда Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Enter, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся, ΠΈ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ «Hello World!» написано Π² ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°. Π’Ρ‹ написали свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Java!

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ своС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Java

Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Java, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Hello, World! Π½Π° систСмный Π²Ρ‹Ρ…ΠΎΠ΄.ΠŸΠΎΠΏΡƒΡ‚Π½ΠΎ Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с функциями IntelliJ IDEA для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ вашСй продуктивности ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊ ΠΈ слСдуйтС ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ инструкциям Π½ΠΈΠΆΠ΅:

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java

Π’ IntelliJ IDEA ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄, тСсты ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, инструкции ΠΏΠΎ сборкС ΠΈ ваши Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки Π² ΠΎΠ΄Π½ΠΎΠΌ устройствС.

  1. ЗапуститС IntelliJ IDEA.

    Если откроСтся экран привСтствия, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ «Новый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β».

    Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅.

  2. Π’ мастСрС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Java ΠΈΠ· списка слСва.

  3. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java Π² IntelliJ IDEA Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Java SDK (JDK).

    Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ JDK ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² IntelliJ IDEA, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· списка Project SDK.

    Если JDK установлСн Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² срСдС IDE, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ JDK (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, / Library / Java / JavaVirtualMachines / jdk-13.0.1.jdk).

    Если Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ JDK, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ поставщика JDK (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, OpenJDK), Π²Π΅Ρ€ΡΠΈΡŽ, ΠΏΡ€ΠΈ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ установки ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΒ».

  4. ΠœΡ‹ Π½Π΅ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для этого руководства, поэтому Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».

  5. НС создавайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° основС шаблона. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС с нуля, поэтому Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».

  6. НазовитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: HelloWorld .

  7. ΠŸΡ€ΠΈ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ мСстополоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π“ΠΎΡ‚ΠΎΠ²ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ класса

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ классов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, для структурирования ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с сотнями классов.

  1. Π’ ΠΎΠΊΠ½Π΅ инструмСнта Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ src, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Alt + Insert ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Java Class.

  2. Π’ ΠΏΠΎΠ»Π΅ Имя Π²Π²Π΅Π΄ΠΈΡ‚Π΅ com.example.helloworld.HelloWorld ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ОК.

    IntelliJ IDEA создаСт ΠΏΠ°ΠΊΠ΅Ρ‚ com.example.helloworld ΠΈ класс HelloWorld .

ВмСстС с Ρ„Π°ΠΉΠ»ΠΎΠΌ IntelliJ IDEA автоматичСски сгСнСрировала Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТимоС для вашСго класса. Π’ этом случаС IDE вставила ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ объявлСниС класса.

Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… шаблонов. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° создаваСмого Ρ„Π°ΠΉΠ»Π° срСда IDE вставляСт исходный ΠΊΠΎΠ΄ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ оТидаСтся, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… этого Ρ‚ΠΈΠΏΠ°.Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, см. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ².

Окно инструмСнта Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Β» Alt + 1 ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ структуру вашСго прилоТСния ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ Java сущСствуСт соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ классов.

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ main (), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΆΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

  1. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ курсор Π² строку объявлСния класса послС ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки { ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Shift + Enter .

    Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Enter , Shift + Enter Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку, Π½Π΅ прСрывая Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ.

  2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ main ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вставляСт объявлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main () .

    По ΠΌΠ΅Ρ€Π΅ Π²Π²ΠΎΠ΄Π° IntelliJ IDEA ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ конструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ контСкстС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список доступных ΠΆΠΈΠ²Ρ‹Ρ… шаблонов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ctrl + J .

Π–ΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ — это Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² свой ΠΊΠΎΠ΄. main — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΆΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ содСрТат Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго. Π˜Ρ… использованиС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π²Π°ΠΌ врСмя, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π°ΠΌ Π½Π΅ придСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ снова ΠΈ снова.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΆΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои собствСнныС, см. Π–ΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ выписку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ шаблон sout live.

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° println () с использованиСм Π°Π²Ρ‚ΠΎΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°

ПослС объявлСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main () IntelliJ IDEA автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку.Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст Π½Π° стандартный систСмный Π²Ρ‹Π²ΠΎΠ΄.

  1. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Sy ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ класс System ΠΈΠ· списка ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° (ΠΎΠ½ ΠΈΠ· стандартного ΠΏΠ°ΠΊΠ΅Ρ‚Π° java.lang ).

    НаТмитС Ctrl +. , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

  2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ o , Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl +. снова.

  3. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ p , Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ println (String x) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π’Π²Π΅Π΄ΠΈΡ‚Π΅ .

    IntelliJ IDEA ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ контСкстС. Π­Ρ‚Π° информация ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вашСго ознакомлСния.

  4. Π’ΠΈΠΏ ". Вторая ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° вставляСтся автоматичСски, Π° курсор помСщаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ. Π’ΠΈΠΏ Hello, World!

Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ контСкст Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π²Π²ΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ список Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½Π°ΠΆΠ°Π² Ctrl + ΠŸΡ€ΠΎΠ±Π΅Π» .

Для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ см. Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ДопустимыС классы Java ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ классы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main () прямо ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π½Π°Ρ‡ΠΎΠΊ Π·Π΅Π»Π΅Π½ΠΎΠΉ стрСлки Π² ΠΆΠ΅Π»ΠΎΠ±Π΅.

  1. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π² ΠΆΠ΅Π»ΠΎΠ±Π΅ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ HelloWorld.main ()Β» Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅. IDE Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄.

  2. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ компиляции Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана откроСтся ΠΎΠΊΠ½ΠΎ инструмСнта Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

    Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ IntelliJ IDEA использовала для запуска скомпилированного класса. Вторая строка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Hello, World! . И послСдняя строка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° 0 , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ.

    Если ваш ΠΊΠΎΠ΄ Π½Π΅Π²Π΅Ρ€Π΅Π½, ΠΈ IDE Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π² ΠΎΠΊΠ½Π΅ инструмСнта Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» отобразится ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π°.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» IntelliJ IDEA создаСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ запуска, которая выполняСт ряд дСйствий.Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ создаСт вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. На этом этапС javac ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ваш исходный ΠΊΠΎΠ΄ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ JVM.

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ компиляции javac ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ скомпилированный Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выдСляСтся ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π² ΠΎΠΊΠ½Π΅ инструмСнта Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Β».

ПослС этого JVM запускаСт Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄.

АвтоматичСски созданныС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запуска ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ….

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ снова ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ инструмСнта Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ», Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Alt + 4 .

IntelliJ IDEA автоматичСски Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΈ ΠΈΡ‰Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: ΠΎΡ‚ синтаксичСских ошибок Π΄ΠΎ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Inspections Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° позволяСт быстро ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ».

Π£ΠΏΠ°ΠΊΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² JAR

Когда ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΠ² Java (JAR), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ² Java называСтся Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠΌ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° для JAR

  1. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ File | Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ctrl + Alt + Shift + S ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ АртСфакты.

  2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π° JAR ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Из ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с зависимостями.

  3. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ поля Main Class Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ HelloWorld (com.example.helloworld) Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.

    IntelliJ IDEA создаСт ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π΅ настройки Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Β«Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β».

  4. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ измСнСния ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ JAR

  1. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Build | Π‘Ρ‚Ρ€ΠΎΠΉΡ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹.

  2. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ HelloWorld: jar ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ».

    Если Π²Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотритС ΠΏΠ°ΠΏΠΊΡƒ out / artifacts, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ свой JAR.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ JAR создан ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ дСйствиС «Найти» Ctrl + Shift + A для поиска дСйствий ΠΈ настроСк Π²ΠΎ всСй срСдС IDE.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запуска для ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния

Для запуска прилоТСния Java, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² JAR, IntelliJ IDEA позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ запуска.

  1. НаТмитС Ctrl + Shift + A , Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ запуститС дСйствиС Β«Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ».

  2. Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ «Запуск / ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉΒ» Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ JARΒ».

  3. НазовитС Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ: HelloWorldJar .

  4. Π’ ΠΏΠΎΠ»Π΅ ΠŸΡƒΡ‚ΡŒ ΠΊ JAR Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ JAR Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

  5. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΠ΅Ρ€Π΅Π΄ запуском» Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.

    Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ HelloWorld.jar создаСтся автоматичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ выполняСтС эту ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ запуска.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запуска ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ запуска для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ прилоТСния, каТдая со своими настройками.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ запуска

  • На ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ HelloWorldJar ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ справа ΠΎΡ‚ сСлСктора ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ запуска.Или Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Shift + F10 , Ссли Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ сочСтания клавиш.

    Как ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, открываСтся ΠΎΠΊΠ½ΠΎ инструмСнта Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ прилоТСния.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

ПослСднСС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: 26 апрСля 2021 Π³.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java Π² Visual Studio Code

Π’ этом руководствС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Hello World Π½Π° Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual Studio Code.Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

Для ΠΎΠ±Π·ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, доступных для Java Π² VS Code, см. ΠžΠ±Π·ΠΎΡ€ языка Java

Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, слСдуя этому руководству, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с Π½Π°ΠΌΠΈ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π½ΠΈΠΆΠ΅.

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅

Настройка VS Code для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java

ΠŸΠ°ΠΊΠ΅Ρ‚ кодирования

для Java

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ быстро Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ кодирования для Java , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ VS Code, Java Development Kit (JDK) ΠΈ основныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Java.ΠŸΠ°ΠΊΠ΅Ρ‚ Coding Pack ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡ΠΈΡΡ‚ΡƒΡŽ установку, Π° Ρ‚Π°ΠΊΠΆΠ΅ для обновлСния ΠΈΠ»ΠΈ исправлСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚ кодирования для Java — Windows

УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚ кодирования для Java — macOS

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : ΠŸΠ°ΠΊΠ΅Ρ‚ Coding Pack для Java доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Windows ΠΈ macOS. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π²Π°ΠΌ потрСбуСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ JDK, VS Code ΠΈ Java.

Установка Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ

Если Π²Ρ‹ ΡƒΠΆΠ΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ VS Code, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Java, установив Java Extension Pack, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:

УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Java

ΠŸΠ°ΠΊΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Java содСрТит руководство ΠΏΠΎ быстрому запуску ΠΈ совСты ΠΏΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°.Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ FAQ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Java: Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ· ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ (β‡§βŒ˜P (Windows, Linux Ctrl + Shift + P)), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ руководство.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π’ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π²Π°ΠΌ прСдоставляСтся Extension Guide . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ руководство с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Java: Extension Guide .

Для этого руководства Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:

Настройки для JDK

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ вСрсии Java

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ вСрсия для запуска Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VS Code for Java ΠΈ поддСрТиваСмая вСрсия для Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² — это Π΄Π²Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ срСды выполнСния.Для запуска VS Code для Java трСбуСтся Java SE 11 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия; для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² VS Code for Java ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с вСрсиСй 1.5 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Настройка JDK.

ИспользованиС мастСра настройки срСды выполнСния Java

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΌΡ‹ прСдоставляСм мастСр настройки Π²ΠΎ врСмя выполнСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ мастСр, ΠΎΡ‚ΠΊΡ€Ρ‹Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ (β‡§βŒ˜P (Windows, Linux Ctrl + Shift + P)) ΠΈ Π½Π°Π±Ρ€Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Java: Configure Java Runtime , которая ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ нСсколько JDK, см. Настройка JDK. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Java, см. Как я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VS Code с Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями Java

.

ИспользованиС настроСк VS Code

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ JDK с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VS Code Settings. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² качСствС значСния систСмной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды JAVA_HOME мСсто установки JDK, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ C: \ Program Files \ Java \ jdk-13.0,2 . Или, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ VS Code для использования JDK, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ java.home Π² настройках ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области VS Code.

Установка Java Development Kit (JDK)

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… источников:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° исходного ΠΊΠΎΠ΄Π°

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ для вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Java ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с VS Code. Π—Π°Ρ‚Π΅ΠΌ Π² VS Code создайтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ сохранитС Π΅Π³ΠΎ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Hello.java . Когда Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ этот Ρ„Π°ΠΉΠ», Java Language Server автоматичСски Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части строки состояния. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ большого ΠΏΠ°Π»ΡŒΡ†Π° Π²Π²Π΅Ρ€Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» Java Π² VS Code, Π½Π΅ открывая Π΅Π³ΠΎ ΠΏΠ°ΠΏΠΊΡƒ, Java Language Server ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

VS Code Ρ‚Π°ΠΊΠΆΠ΅ попытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ для Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· шаблона.Π‘ΠΌ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Java: Create Java Project . ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ (β‡§βŒ˜P (Windows, Linux Ctrl + Shift + P)), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ java для поиска этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ мСстополоТСниС ΠΈ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ свой инструмСнт сборки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Visual Studio Code Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Java, см. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° для создания шаблонов для Π²Π°ΡˆΠΈΡ… классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². VS Code Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт IntelliSense для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Java, см. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java.

Запуск ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для запуска ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° Java установитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F5 Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ мСню Run > Start Debugging . Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Run | Debug CodeLens Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.ПослС компиляции ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π² прСдставлСнии Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° Hot Code ΠΈ условныС Ρ‚ΠΎΡ‡ΠΊΠΈ останова.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. ΠžΡ‚Π»Π°Π΄ΠΊΠ° Java.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС возмоТностСй для вашСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Java.

14.04.2021

Java ΠΈ Makefiles

Java ΠΈ Makefiles

Π”Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ make-Ρ„Π°ΠΉΠ»Ρ‹ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java.Если Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ использовали Makefile, сначала ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅
ДокумСнтация ΠΏΠΎ основам Makefile.

Π’ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Makefile для Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
(Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ Π² этой Ρ„ΠΎΡ€ΠΌΠ΅ Π»Π΅Π³Ρ‡Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ):


JFLAGS = -g
JC = javac
. БУЀЀИКБЫ: .java .class
.java.class:
        $ (JC) $ (JFLAGS) $ *. Java

ΠšΠ›ΠΠ‘Π‘Π« = \
        Foo.java \
        Blah.java \
        Library.java \
        Main.java

ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: классы

классы: $ (ΠšΠ›ΠΠ‘Π‘Π«: .java = .class)

чистый:
        $ (RM) *.класс
 
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ make-Ρ„Π°ΠΉΠ» для компиляции Π²Π°ΡˆΠΈΡ… Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:
  1. создайтС Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«makefileΒ» Π² своСм домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠ΅ содСрТаниС
  2. ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ макрос CLASSES Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΈΠΌΠ΅Π»
    ΠΈΠΌΠ΅Π½Π° Π²Π°ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² .java ;
  3. запуститС make, ΠΈ Ссли всС ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю Π²Π°ΡˆΡƒ java
    исходныС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ.

Π’ΠΎΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ make-Ρ„Π°ΠΉΠ» с коммСнтариями, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку:


#
# ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ компилятор ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π»Π°Π³Π° компилятора
#

JFLAGS = -g
JC = javac


#
# ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС Ρ†Π΅Π»ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°.Ρ„Π°ΠΉΠ»Ρ‹ классов ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² .java; ΠΌΡ‹
# прСдоставит Π½Π°ΡˆΡƒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ запись для этого Π² make-Ρ„Π°ΠΉΠ»Π΅.
# make ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ†Π΅Π»Π΅ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ€Π°Π·Π½Ρ‹Ρ… суффиксов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, .c.o)
# Π’ настоящСС врСмя ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для .java.class Π½Π΅ трСбуСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ
# make Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ опрСдСлСния для этой Ρ†Π΅Π»ΠΈ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ вСрсии
# make may, поэтому Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
# опрСдСлСния для этих
#

. БУЀЀИКБЫ: .java .class


#
# Π’ΠΎΡ‚ наша цСлСвая запись для создания Ρ„Π°ΠΉΠ»ΠΎΠ² .class ΠΈΠ·.Ρ„Π°ΠΉΠ»Ρ‹ java
# Π­Ρ‚ΠΎ цСлСвая запись, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ синтаксис суффиксного ΠΏΡ€Π°Π²ΠΈΠ»Π°:
# DSTS:
# ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ
# 'TS' - суффикс Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, 'DS' - суффикс зависимости
# Ρ„Π°ΠΉΠ», Π° 'rule' - это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для создания Ρ†Π΅Π»ΠΈ
# '$ *' - это встроСнный макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ†Π΅Π»ΠΈ
# ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ & lt tab & gt ('ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ')
#

.java.class:
        $ (JC) $ (JFLAGS) $ *. Java


#
# CLASSES - это макрос, состоящий ΠΈΠ· 4 слов (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ исходного Ρ„Π°ΠΉΠ»Π° java)
#

ΠšΠ›ΠΠ‘Π‘Π« = \
        Π€Ρƒ.Π―Π²Π° \
        Blah.java \
        Library.java \
        Main.java


#
# ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ запись
#

ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: классы


#
# Π­Ρ‚Π° цСлСвая запись ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½Ρƒ суффикса Π² макросС:
# $ (имя: строка1 = строка2)
# Π’ словах макроса с ΠΈΠΌΠ΅Π½Π΅ΠΌ 'name' Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ 'string1' Π½Π° 'string2'
# НиТС ΠΌΡ‹ замСняСм суффикс .java всСх слов Π² макросС CLASSES
# с суффиксом .class
#

классы: $ (ΠšΠ›ΠΠ‘Π‘Π«: .java = .class)


#
# RM - это ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ макрос Π² make (RM = rm -f)
#

чистый:
        $ (RM) *.класс
 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π° jar

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π° JAR

Π’ Java ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ нСсколько
классы Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ .jar («java-Π°Ρ€Ρ…ΠΈΠ²»).
Π’Π°ΠΊ хранятся классы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.
Π’ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ jar.
Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный Ρ„Π°ΠΉΠ» jar, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ нСсколько классов.

jar-Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слуТСбной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ jar.exe ΠΈΠ·
JDK.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой jar-Ρ„Π°ΠΉΠ» Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ, ΡƒΠΊΠ°Π·Π°Π² jar.exe , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
class ΠΈΠΌΠ΅Π΅Ρ‚ основной .
Для этого Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» манифСста.
ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ — это однострочный тСкстовый Ρ„Π°ΠΉΠ» с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ Β«Main-ClassΒ».
НапримСр:

 Π“Π»Π°Π²Π½Ρ‹ΠΉ класс: ΠšΡ€ΡΠΏΡ 

Π­Ρ‚Π° строка Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²ΠΎΠΉ строкой.

Π€Π°ΠΉΠ» jar, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ манифСста основного класса, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ
ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π±Π°Π½ΠΊΠ°.
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
любой ΠΈΠ· классов, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² jar, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π²
ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² Ρ„Π°ΠΉΠ»Π΅ jar.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» манифСста Π² любом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅,
ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ MS-DOS echo .
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΡŒ своСму Ρ„Π°ΠΉΠ»Ρƒ манифСста любоС имя, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ стандартноС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ manifest.txt .

Когда Ρƒ вас Π΅ΡΡ‚ΡŒ манифСст ΠΈ всС ваши классы
Π±Ρ‹Π»ΠΈ скомпилированы, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ JDK jar.exe .
Находится Π² ΠΏΠ°ΠΏΠΊΠ΅ JDKs bin , Ρ‚Π°ΠΌ ΠΆΠ΅
Π³Π΄Π΅ javac.exe ΠΈ java.exe .
jar.exe ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки;
Ссли Π²Ρ‹ запуститС Π΅Π³ΠΎ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚
ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± использовании ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
Π’Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ

 C \ mywork> jar cvfm MyJarName.jar manifest.txt * .class 

cvfm ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β« c reate a jar;
ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ v erbose;
ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ jar f имя Ρ„Π°ΠΉΠ»Π°;
ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π° anifest m «.
Π—Π° Π½ΠΈΠΌ слСдуСт имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ своСму Ρ„Π°ΠΉΠ»Ρƒ jar,
имя вашСго Ρ„Π°ΠΉΠ»Π° манифСста ΠΈ список
Ρ„Π°ΠΉΠ»ΠΎΠ² .class
Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π±Π°Π½ΠΊΡƒ.
* .class ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ классов Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

На самом Π΄Π΅Π»Π΅, Ссли ваш манифСст содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Main-Class,
Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ основной класс нСпосрСдствСнно Π² Ρ„Π°ΠΉΠ»Π΅ jar.exe
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ e вмСсто m .
Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» манифСста; Π±Π°Π½ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚
Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ манифСст Π² свой Ρ„Π°ΠΉΠ» jar Π·Π° вас.
НапримСр:

 C \ mywork> jar cvfe MyJarName.jar MyMainClass * .class 

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ссылка Π½Π° созданиС Ρ„Π°ΠΉΠ»Π° jar Π² Eclipse .
ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ этого
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ Π² JCreator .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° jar Π²

Eclipse

Π’ содСрТимом справки Eclipse Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ «Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ JavaΒ» ==>
Β«Π—Π°Π΄Π°Ρ‡ΠΈΒ» ==> Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² JARΒ».
Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям для Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° JARΒ».
ΠΈΠ»ΠΈ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° JARΒ».

Π€Π°ΠΉΠ» JAR ΠΈ ЗапускаСмый Ρ„Π°ΠΉΠ» JAR ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ находятся Π² мСню Π€Π°ΠΉΠ» :
Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Export ... ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΡƒΠ·Π΅Π» Java .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° jar Π²

JCreator

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ «инструмСнт», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ процСсс создания Π±Π°Π½ΠΊΠΈ.
Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

  1. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Configure / Options .
  2. НаТмитС Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π»Π΅Π²ΠΎΠΌ столбцС.
  3. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ New ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Create Jar file .
  4. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ вновь созданной записи
    Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Jar
    Π² Π»Π΅Π²ΠΎΠΌ столбцС ΠΏΠΎΠ΄ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ .
  5. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΡ€Π΅Π΄Π½ΡŽΡŽ строку с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ АргумСнты:
    ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ

     cvfm $ [PrjName] .jar manifest.txt * .class 
  6. НаТмитС ОК.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,
ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» манифСста manifest.txt ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.
ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ manifest.txt Π² Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΡƒ
ΠΊΡƒΠ΄Π° ΠΈΠ΄ΡƒΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ .class .
Под Π’ΠΈΠ΄ / ПанСли инструмСнтов
ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ панСль инструмСнтов Tools .
Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ инструмСнта ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl-1
(ΠΈΠ»ΠΈ Ctrl- n , Ссли это n -ΠΉ инструмСнт)
для запуска инструмСнта Create Jar & nbspFile .

Π’ Windows Explorer ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ jar
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создали, ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° jar Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

  1. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Командная строка .
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся Ρ„Π°ΠΉΠ»Ρ‹ классов:
     C: \> cd \ mywork 
  3. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹ JDK.
    НапримСр:

     C: \ mywork> ΠΏΡƒΡ‚ΡŒ c: \ Program Files \ Java \ jdk1.7.0_25 \ bin;% ΠΏΡƒΡ‚ΡŒ% 
  4. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой класс (Ρ‹):
     C: \ mywork> javac *.Java 
  5. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» манифСста ΠΈ свой Ρ„Π°ΠΉΠ» jar:
     C: \ mywork> echo Main-Class: Craps> manifest.txt 
     C: \ mywork> jar cvfm Craps.jar manifest.txt * .class 

    ΠΈΠ»ΠΈ ΠΆΠ΅

     C: \ mywork> jar cvfe Craps.jar Craps * .class 
  6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свою Π±Π°Π½ΠΊΡƒ:
     C: \ mywork> Craps.jar 

    ΠΈΠ»ΠΈ ΠΆΠ΅

     C: \ mywork> java -jar Craps.jar 

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Maven

Maven Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько Ρ†Π΅Π»Π΅ΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° сборки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Maven, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ†Π΅Π»ΠΈ ΠΏΠΎ компиляции ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, созданию ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„Π°ΠΉΠ»Π° JAR) ΠΈ установкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ зависимостСй Maven.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ сборку, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π­Ρ‚ΠΎ запустит Maven, сообщив Π΅ΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΡŒ компиляции . По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΉΡ‚ΠΈ скомпилированныС Ρ„Π°ΠΉΠ»Ρ‹ .class Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ target / classes .

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ маловСроятно, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ .class , Π²Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ вмСсто этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π° :

ΠŸΠ°ΠΊΠ΅Ρ‚ ЦСль скомпилируСт ваш Java-ΠΊΠΎΠ΄, запустит всС тСсты ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ» JAR Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ . Имя Ρ„Π°ΠΉΠ»Π° JAR Π±ΡƒΠ΄Π΅Ρ‚ основано Π½Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НапримСр, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠΌ.xml ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° JAR Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ gs-maven-0.1.0.jar .

Для выполнСния Ρ„Π°ΠΉΠ»Π° JAR запуститС:

 java -jar Ρ†Π΅Π»ΡŒ / gs-maven-0.1.0.jar 
Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с Β«jarΒ» Π½Π° Β«warΒ», Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„Π°ΠΉΠ» WAR Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ target вмСсто Ρ„Π°ΠΉΠ»Π° JAR.

Maven Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ зависимостСй Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это .m2 / repository Π² вашСм домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅) для быстрого доступа ΠΊ зависимостям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» JAR вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² этот Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ :

ЦСль install скомпилируСт, протСстируСт ΠΈ ΡƒΠΏΠ°ΠΊΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ скопируСт Π΅Π³ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ зависимостСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠ³ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ.

Говоря ΠΎ зависимостях, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π° ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ зависимости Π² сборкС Maven.

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

2024 Β© ВсС ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹. ΠšΠ°Ρ€Ρ‚Π° сайта