JavaRush/Java блог/Random UA/Кава-брейк #135. 5 способів перетворення файлу в рядок Ja...

Кава-брейк #135. 5 способів перетворення файлу в рядок Java. Як змінити аргументи командного рядка в Java

Стаття з групи Random UA
учасників

5 способів перетворення файлу в рядок Java

Джерело: Medium Кава-брейк #135.  5 способів перетворення файлу в рядок Java.  Як змінити аргументи командного рядка в Java - 1 Сьогодні ми обговоримо 5 простих і перевірених способів читання або перетворення файлу в рядок Java. Вибір найбільш підходящого для вас способу залежить від конфігурації того чи іншого проекту. Спочатку припустимо, що inputStream — це змінна типу InputStream.
InputStream inputStream;
А тепер перевіримо різноманітні способи перетворення.

1. Використання вбудованого пакету Java 1.11+:

import java.nio.file.Files;
import java.nio.file.Path;
String result = Files.readString(Path.of("filePath"));

//Bonus: To Write string to a file you can use
String content = "Demo Content";
Files.writeString(filePath, content);
Цей метод працює з Java 1.11+.

2. Використання вбудованого пакету Streams Java 1.8+:

String result =  new  String( Files.readAllBytes ( Paths.get ( filePath )),          StandardCharsets.UTF_8 ) ;
Цей метод працює з Java 1.8+.

3. Власний Java-сканер:

try (Scanner scanner = new Scanner(Paths.get(fileName), StandardCharsets.UTF_8.name())) {
    String result = scanner.useDelimiter("\\A").next();
}
Зверніть увагу, що A представляє шаблон регулярного виразу для методу сканера useDelimiter . \A означає: :start of a string! (Початок рядка!). Тому, коли цей шаблон застосовується, весь потік готовий до використання в об'єкті сканера.

4. Спосіб Apache commons-io IOUtils:

File file = new File("data.txt");
String result = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
Для цього в вашому проекті потрібна наявність бібліотеки Apache commons-io. Ви можете знайти її за посиланням від maven .

5. Використання бібліотеки Google Guava:

String result = Files.toString(new File(path), Charsets.UTF_8);
Використання цього способу передбачає, що у вашому проекті вже є бібліотека Guava. Ви можете знайти її за допомогою посилання від maven . Якщо ви хочете поекспериментувати з реальними InputStream без будь-яких службових методів, тоді використовуйте саме цей спосіб.

Як змінити аргументи командного рядка в Java

Джерело: DZone У цій статті ви дізнаєтесь, як змінити аргументи командного рядка Java, як вони передаються і як працюють. Як ви перевіряєте, що код не містить помилок і обробляє всі запити? Найпростіший спосіб – перевірити його на всіх можливих діапазонах тестових випадків. Однак проходження всіх цих тестів може бути досить довгим та трудомістким. Нам потрібен якийсь інший спосіб, який може зробити це легко, без особливого клопоту і бажано автоматизовано. Аргументи командного рядка Java — одне з рішень нашої проблеми. Вони помітно спрощують процес тестування та налагодження.
// here args will hold the command line arguments
    public static void main(String[] args) {
        System.out.println("Hello World!");
        // remaining code will go here
    }

Що таке аргументи командного рядка?

Аргументи командного рядка Java (Command-Line Arguments) – це спосіб введення даних у програму через командний рядок. Програмісти можуть передавати ці аргументи безпосередньо з консолі, до якої звертатиметься метод main() . При необхідності аргументами командного рядка можна знехтувати, передавши значення безпосередньо методу main() .

Як працюють аргументи командного рядка?

Аргументи командного рядка упаковуються і передаються args[] . Це масив рядків, який містить усі передані йому аргументи командного рядка. Кожен аргумент зберігатиметься за індексом, починаючи з args[0] до args[n] .

Як передаються аргументи командного рядка?

Аргументи командного рядка передаються через командний рядок чи термінал. Всі передані через них аргументи будуть перетворені та поміщені в масив args[] всередині JVM. Тепер подивимося, як передавати аргументи командного рядка на прикладі. Припустимо, у нас є файл із якимось кодом Java. Наступні етапи продемонструють, як передавати аргументи командного рядка Java:
  1. Збережіть програму Java з розширенням .java (наприклад, Arguments.java ).

  2. Відкрийте термінал/командний рядок у каталозі, де програма зберігається локально.

  3. Скомпілюйте програму Java для перетворення файлу .java на файл .class .

    • Команда: javac filename.java (У нашому прикладі: javac Arguments.java )
  4. Запустіть програму та передайте аргументи після того, як ім'я файлу буде розділено пробілами.

    • Команда: java filename argument1 argument2 .... argumentN (У нашому прикладі аргументи Java: Welcome to this blog and Happy Learning )

Як отримати доступ до аргументів командного рядка?

А тепер давайте спробуємо отримати доступ до всіх переданих аргументів командного рядка Java. Як це зробити? Оскільки аргументи зберігаються в масиві args[] це означає, що ми можемо легко отримати до них доступ за допомогою args[i] , де вказується індекс, який може варіюватися від 0 до n (загальна кількість переданих аргументів).
class Arguments {
    public static void main( String[] args ) {
        System.out.println(" Hello World! ");
        // args.length is used to get length of args array

        System.out.println(" Total number of args: " + args.length);
        // iterating over the args array to print the args if available

        for (int i = 0; i < args.length; i++) {
            System.out.println(" Arg " + i + ": " + args[i]);
        }
    }
}
Висновок:
Hello World! Total number of args: 7 Arg 0: Welcome Arg 1: to Arg 2: цей Arg 3: blog Arg 4: and Arg 5: Happy Arg 6: Learning

Як змінити аргументи командного рядка?

Тут ми можемо використовувати args[i] для отримання значення за i-м індексом, а потім використовувати оператор присвоєння (=). Так ми можемо змінити аргумент командного рядка по i-му індексу. Наведений нижче фрагмент коду змінить деякі аргументи, передані через командний рядок Java.
args[1] = " Modified Command Line Argument 1 ";
args[3] = " Modified Command Line Argument 2 ";
args[5] = " Modified Command Line Argument 3 ";
Висновок після зміни:
Hello World! Total number of args: 7 Arg 0: Welcome Arg 1: Modified Command Line Argument 1 Arg 2: цей Arg 3: Modified Command Line Argument 2 Arg 4: and Arg 5: Modified Command Line Argument 3 Arg 6: Learning

Висновок

  • Аргументи командного рядка Java — це спосіб введення даних у програму через командний рядок.

  • Аргументи командного рядка передаються при виконанні команди запуску, аргументи передаються відразу після імені файлу з розділенням пробілами.

  • Аргументи командного рядка записуються масив рядків args[] .

  • Ми можемо отримати доступ до аргументів командного рядка або змінити їх за допомогою операторів args[i] та операторів присвоєння.

Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.