// При помощи коллекции получаем значения из Map и сортируем их по алфавиту
// Далее добавляем эти значения при помощи конкатенации строк в string, в том // порядке, в котором эти значения получены из Map for (List collection : map.values()) { collection.sort(Comparator.naturalOrder()); for(String element : collection) { if (collection.size() != 1) { string += element + " "; } } string += "\n"; }
// Строка разбивается на массив строк с помощью регулярного выражения, для того, // чтобы вывести данные на экран в порядке, обратном добавлению в Map String[] array = string.split("\n"); for (int i = array.length - 1; i >= 0 ; i--) { System.out.println(array[i]); }`
public void read(Path path) throws IOException {
// В с помощью метода exists() проверяется существование файла (пути)
exists(path);
// Чтение данных из файла как последовательности строк с помощью метода Files.readAllLines
// и добавление всех слов в коллекцию List <String> rows
List<String> rows = Files.readAllLines(path, StandardCharsets.UTF_8);
System.out.println(rows);
}
private String sort(String unsorted)
{
byte[] bytes = unsorted.getBytes();
String concat = "";
Arrays.sort(bytes);
for (byte aByte : bytes) {
concat += (char) aByte;
}
return concat;
}
private String getFilePath()
{
FileInputStream fileInputStream;
Properties properties = new Properties();
String fileUrl = null;
try {
fileInputStream = new FileInputStream("src/main/resources/config.properties");
properties.load(fileInputStream);
fileUrl = properties.getProperty("existingFile");
} catch (FileNotFoundException fnex) {
fnex.getMessage();
fnex.printStackTrace();
} catch (NoSuchFileException nsex) {
nsex.getMessage();
} catch (Exception ex) {
ex.printStackTrace();
}
return fileUrl;
}
private static void exists(Path path) throws FileNotFoundException
{
if (!path.toFile().exists()) {
throw new FileNotFoundException("Указанный файл не существует!");
}
}
public static void main(String[] args) throws IOException
{
// Получаем системное время на момент начала вычислений
long beginning = System.currentTimeMillis();
// Создание объекта класса App
App app = new App();
// Создание и инициализация объекта Path с помощью вспомогательного класса java.nio.file.Paths
// В теле вызваемого метода getFilePath() происходит считывание конфигурационного файла config.properties,
// в указывается путь к текстовому файлу
Path path = Paths.get(app.getFilePath());
// Вызов метода read, в теле которого будет происходить чтение из текстового файла
app.read(path);
// Выводим на экран время работы в миллисекундах, в случаем успешного выполнения программы
// не входит в задание!
System.out.println("\nВремя работы в миллисекундах: " + (System.currentTimeMillis() - beginning));
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прохожу урок на StartAndroid, возникла ошибка в коде, не могу понять как исправить, нужный класс импортирован, всё переписал как в примере, помогите...
Здравствуйте! У меня такая проблема: браузер Chrome отображает ширину border у html элементов не такую, как задана в стилях, а уменьшенную в 08 раз