package com.javarush.test.level20.lesson02.task03; import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.Properties; /* Знакомство с properties В методе fillInPropertiesMap считайте имя файла с консоли и заполните карту properties данными из файла. Про .properties почитать тут - http://ru.wikipedia.org/wiki/.properties Реализуйте логику записи в файл и чтения из файла для карты properties. */ public class Solution { public static Map<String, String> properties = new HashMap<>(); public static void main(String[] args) throws Exception { Solution solution = new Solution(); solution.fillInPropertiesMap(); } public void fillInPropertiesMap() throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String name = reader.readLine(); FileInputStream inputStream = new FileInputStream(name); load(inputStream); OutputStream outputStream = new FileOutputStream(name); save(outputStream); inputStream.close(); outputStream.close(); reader.close(); } public void save(OutputStream outputStream) throws Exception { Properties props = new Properties(); for (Map.Entry<String, String> entry : properties.entrySet()) props.setProperty(entry.getKey(), entry.getValue()); //наполняем массив Properties парами ключ-значение props.store(outputStream, null); //выгружаем пары массива Properties в файл .properties } public void load(InputStream inputStream) throws Exception { Properties props = new Properties(); props.load(inputStream); //выгружаем Properties из файла .properties в массив for (Map.Entry<Object, Object> entry : props.entrySet()) properties.put(entry.getKey().toString(), entry.getValue().toString()); //заполняем статический массив из массива Properties } }
Leave A Comment