Устал биться с этим валидатором. Что ему опять не так подскажите пожалуйста?
Код работает, пишет и в файл и из файла читает в мапу, без каких-либо косяков.
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 reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
FileInputStream input = new FileInputStream(fileName);
load(input);
}
public void save(OutputStream outputStream) throws Exception {
//implement this method - реализуйте этот метод
String noEmpty = null;
if (Solution.properties.isEmpty()) noEmpty = "no";
else noEmpty = "yes";
outputStream.write(noEmpty.getBytes());
outputStream.write(10);
if (noEmpty.equals("yes")) {
for (Map.Entry<String, String> pair : Solution.properties.entrySet()) {
outputStream.write((pair.getKey() + ":" + pair.getValue()).getBytes());
outputStream.write(10);
}
}
outputStream.flush();
outputStream.close();
}
public void load(InputStream inputStream) throws Exception {
//implement this method - реализуйте этот метод
if (inputStream.available() > 0) {
byte [] bytes = new byte [inputStream.available()];
inputStream.read(bytes);
inputStream.close();
String content = new String(bytes);
content = content.replaceAll("\r", "");
String [] strings = content.split("\n");
if (strings[0].equals("yes")) {
for (int i = 1; i < strings.length; i++) {
String property = strings[i];
property = property.replaceAll(" = ", "=");
property = property.replaceAll(" : ", ":");
if (property.contains("=")) {
Solution.properties.put(property.split("=")[0], property.split("=")[1]);
}
else if (property.contains(":")) {
Solution.properties.put(property.split(":")[0], property.split(":")[1]);
}
}
}
}
}
public static void main(String[] args) {
/*new Solution().fillInPropertiesMap();
for (Map.Entry<String, String> pair : properties.entrySet()) {
System.out.println(pair.getKey() + "=" + pair.getValue());
}*/
}
}