package com.javarush.task.task20.task2003;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
/*
Знакомство с properties
*/
public class Solution {
public static Map<String, String> properties = new HashMap<>();
public void fillInPropertiesMap() throws Exception {
//implement this method - реализуйте этот метод
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = br.readLine();
br.close();
FileInputStream fis = new FileInputStream(fileName);
load(fis);
fis.close();
}
public void save(OutputStream outputStream) throws Exception {
//implement this method - реализуйте этот метод
PrintWriter printWriter = new PrintWriter(outputStream);
for (Map.Entry<String, String> item: properties.entrySet())
printWriter.println(item.getKey() + " : " + item.getValue());
printWriter.flush();
printWriter.close();
}
public void load(InputStream inputStream) throws Exception {
//implement this method - реализуйте этот метод
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
properties.clear();
while ((line = reader.readLine()) != null) {
String[] strArr = line.split(" : ");
properties.put(strArr[0], strArr[1]);
}
reader.close();
}
public static void main(String[] args) throws Exception {
}
}
Alex Mill
23 уровень
Знакомство с properties: Не проходят валидацию методы SAVE и LOAD!?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alex Mill
19 сентября 2017, 15:15
ОК. Спасибо за помощь.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
18 сентября 2017, 14:42
То, что ты не учел по ссылке на википедии:
Для записи пробелов (« ») и некоторых других служебных символов («:», «=») внутри «ключа» их необходимо экранировать с помощью символа обратной косой черты «\».
0
Сергеев ВикторMaster
17 сентября 2017, 22:24
почитайте про класс properties
0