Вариант id 198479 проходит, а 19847 - нет. Вроде .trim() использую, все равно никак. Не пойму как исправить. Что не так? Направьте пожалуйста в нужное русло. Все идеи иссякли.
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
if (args.length==0) return;
reader = new BufferedReader (new InputStreamReader(new FileInputStream(fileName)));
String s;
if (args.length>1&& args.length<6){
ArrayList<String> arrayList = new ArrayList<>();
while ((s = reader.readLine())!=null){
arrayList.add(s);
}
StringBuffer stringBuffer = null;
for (int i = 0; i < arrayList.size() ; i++) {
if (args[1].equals(arrayList.get(i).substring(0,8).trim())){
if (args[0].equals("-u")) {
stringBuffer = new StringBuffer(arrayList.get(i));
stringBuffer.replace(8, 49,String.format("%-30s%-8s%-4s", args[2], args[3], args[4]) );
arrayList.set(i, String.valueOf(stringBuffer));
}
if (args[0].equals("-d")) {
arrayList.remove(i);
}
}
}
OutputStream outputStream1 = new FileOutputStream(fileName);
outputStream1.close();
OutputStream outputStream = new FileOutputStream(fileName,true);
for (int i = 0; i < arrayList.size() ; i++) {
outputStream.write(arrayList.get(i).getBytes());
outputStream.write(13);
outputStream.write(10);
}
outputStream.close();
}
reader.close();
}
}