Короче, сделал вторую задачу по прайсам. Код тестировал, все работает. Но валидатор ругается.
buffer это типо второй файл который я использовал в качестве буфера)
Подскажите, что я еще не учел?
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
if (args.length > 0) {
if (args[0].equals("-u")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String nameFile = reader.readLine();
String buffer = reader.readLine();
reader.close();
BufferedReader inputFile = new BufferedReader(new FileReader(nameFile));
String string;
FileWriter outputBuffer = new FileWriter(buffer);
while ((string = inputFile.readLine()) != null) {
int id = Integer.parseInt(string.substring(0, 8).trim());
if (id == Integer.parseInt(args[1])) {
String other = String.format("%-30.30s%-8.8s%-4.4s", args[2], args[3], args[4]);
outputBuffer.write(String.format("%-8s",id) + other + "\n");
continue;
}
outputBuffer.write(string + "\n");
}
inputFile.close();
outputBuffer.close();
BufferedReader inputBuffer = new BufferedReader(new FileReader(buffer));
FileWriter outputFile = new FileWriter(nameFile);
String string1;
while ((string1 = inputBuffer.readLine()) != null) {
outputFile.write(string1 + "\n");
}
inputBuffer.close();
outputFile.close();
}
else if (args[0].equals("-d")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String nameFile = reader.readLine();
String buffer = reader.readLine();
reader.close();
BufferedReader inputFile = new BufferedReader(new FileReader(nameFile));
String string;
FileWriter outputBuffer = new FileWriter(buffer);
while ((string = inputFile.readLine()) != null) {
int id = Integer.parseInt(string.substring(0, 8).trim());
if (id == Integer.parseInt(args[1])) {
continue;
}
outputBuffer.write(string + "\n");
}
inputFile.close();
outputBuffer.close();
BufferedReader inputBuffer = new BufferedReader(new FileReader(buffer));
FileWriter outputFile = new FileWriter(nameFile);
String string1;
while ((string1 = inputBuffer.readLine()) != null) {
outputFile.write(string1 + "\n");
}
inputBuffer.close();
outputFile.close();
}
}
}
}