public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String fileName = reader.readLine();//"C:/Users/PC/Desktop/1234.txt"; reader.close(); BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName)); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName, true)); Map<Integer, String> map = new TreeMap<>(); if(args.length > 0) { if(args[0].equals("-u") || args[0].equals("-d")) { boolean add = false; Integer max = 0; while (bufferedReader.ready()) { String str = bufferedReader.readLine(); map.put(addID(str), str); } bufferedReader.close(); for(Map.Entry<Integer, String> e: map.entrySet()) { Integer i = e.getKey(); if(i == Integer.parseInt(args[1])) { add = true; } } if(add == true && args[0].equals("-u")) { map.put(Integer.parseInt(args[1]), addBody(args)); } else if(add == true && args[0].equals("-d")) { map.remove(Integer.parseInt(args[1])); } BufferedWriter bufferedWriter1 = new BufferedWriter(new FileWriter(fileName)); bufferedWriter1.write(""); bufferedWriter1.close(); ArrayList<String> list = new ArrayList<>(); for(Map.Entry<Integer, String> e: map.entrySet()) { list.add(e.getValue()); // System.out.println(e.getValue()); } String r = "\r"; for(int i = 0; i < list.size(); i++) { if(i == list.size() -1) { r = new String(); } bufferedWriter.write(list.get(i) + r); } bufferedWriter.close(); } } } public static Integer addID(String str) { str = str.substring(0, 8); char[] chars = str.toCharArray(); str = new String(); for (int i = 0; i < chars.length; i++) { if(chars[i] == ' ') { break; } str += chars[i]; } Integer i = Integer.parseInt(str); return i; } public static String addBody(String[] args) { String str = doBody(args[1], 8) + doBody(args[2], 30) + doBody(args[3], 8) + doBody(args[4], 4); return str; } public static String doBody(String args, Integer i) { if(args.length() < i) { for(int s = args.length(); s < i; s++) { args += " "; } } else if(args.length() > i) { args = args.substring(0, i); } return args; } }