5 способов преобразования файла в строку Java
Источник: Medium Сегодня мы обсудим 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:Сохраните программу Java с расширением .java (например, Arguments.java).
Откройте терминал/командную строку в каталоге, где программа хранится локально.
Скомпилируйте программу Java для преобразования файла .java в файл .class.
- Команда: javac filename.java (В нашем примере: javac Arguments.java)
Запустите программу и передайте аргументы после того, как имя файла будет разделено пробелами.
- Команда: 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: this
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: this
Arg 3: Modified Command Line Argument 2
Arg 4: and
Arg 5: Modified Command Line Argument 3
Arg 6: Learning
Заключение
Аргументы командной строки Java — это способ ввода данных в программу через командную строку.
Аргументы командной строки передаются при выполнении команды запуска, аргументы передаются сразу после имени файла, с разделением пробелами.
Аргументы командной строки записываются в массив строк args[].
Мы можем получить доступ к аргументам командной строки или изменить их, используя операторы args[i] и операторы присваивания.