Ребят, можете опять мне сказать что я дебил который после двух провальных попыток сразу идет в раздел помощь, но я честно не могу понять в чем тут проблема. "Метод save должен сохранять карту properties в полученный в качестве параметра объект типа OutputStream." разве не сохраняет? "Метод load должен восстанавливать состояние карты properties из полученного в качестве параметра объекта типа InputStream." разве не восстанавливает?
Я тестил и с пробелами, и с кириллицей, и с другими символами, вообщем много с чем тестил, и всё выводит как было. С переносами строк очевидно не работает, но как я понял это нормально. Короче я в тупике.
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 {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(bufferedReader.readLine());
bufferedReader.close();
load(fileInputStream);
}
public void save(OutputStream outputStream) throws Exception {
PrintWriter printWriter = new PrintWriter(outputStream);
properties.forEach((s, d) -> printWriter.println(String.format("%s = %s", s, d)));
printWriter.close();
}
public void load(InputStream inputStream) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
while (bufferedReader.ready()) {
String line = bufferedReader.readLine();
String[] tmp = line.split(" = ");
properties.put(tmp[0], tmp[1]);
}
bufferedReader.close();
}
public static void main(String[] args) {
}
}