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;
}
}
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
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;
}
}