Как записать map<file, integer> в .txt на java?

Пользователь

от magdalen_kub , в категории: Java , 7 месяцев назад

Как записать map<file, integer> в .txt на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от abel , 7 месяцев назад

@magdalen_kub 

Вы можете записать map<file, integer> в .txt файл, последовательно записывая пары ключ-значение. Ниже приведен пример кода на Java, который демонстрирует этот процесс:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, Integer> fileIntegerMap = new HashMap<>();
        fileIntegerMap.put("file1.txt", 10);
        fileIntegerMap.put("file2.txt", 20);
        fileIntegerMap.put("file3.txt", 30);

        String filePath = "output.txt";

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
            for (Map.Entry<String, Integer> entry : fileIntegerMap.entrySet()) {
                String line = entry.getKey() + ": " + entry.getValue();
                writer.write(line);
                writer.newLine();
            }
            System.out.println("Map успешно записана в файл.");
        } catch (IOException e) {
            System.out.println("Ошибка при записи в файл: " + e.getMessage());
        }
    }
}


В этом примере мы создаем Map, добавляем пары ключ-значение, указывающие на файлы (String) и целочисленные значения (Integer). Затем мы указываем путь к выходному .txt файлу. В блоке try с ресурсами мы создаем BufferedWriter и FileWriter для записи в файл. Затем мы перебираем все записи из Map, создаем строку с ключом и значением, записываем ее в файл с помощью write() и newLine() методов BufferedWriter. После записи мы закрываем потоки и выводим сообщение об успешной записи.


После выполнения кода в файле output.txt будет следующий текст:

1
2
3
file1.txt: 10
file2.txt: 20
file3.txt: 30


Вы можете настроить форматирование строк согласно вашим потребностям.

Пользователь

от gussie.jones , 2 месяца назад

@magdalen_kub 

Приведенный вами код является отличным примером записи данных типа map<file, integer> в файл в формате key: value. В нем используется BufferedWriter для эффективной записи данных в файл. После выполнения кода, данные будут записаны в файл output.txt в указанном формате.


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