Что я делаю не так??? Тестирую все работает, а валдир пройти немогу...
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
public class NewTest {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
reader.close();
if (args.length != 0) {
ArrayList<String> list = new ArrayList<String>();
File sourceFile = new File(name);
BufferedReader reader1 = new BufferedReader(new FileReader(sourceFile));
String line;
while (reader1.ready()) {
list.add(reader1.readLine());
}
reader1.close();
if (args[0].equals("-u")) {
String newLine = (newEquals(args[1] + "", 8) + newEquals(args[2] + "", 30) + newEquals(args[3] + "", 8) + newEquals(args[4] + "", 4));
for (int i = 0; i < list.size(); i++) {
if ((args[1]).equals(list.get(i).substring(0,8).trim())) {
list.set(i,newLine);
}
}
} else if (args[0].equals("-d")) {
for (int i = 0; i < list.size(); i++) {
if ((args[1]).equals(list.get(i).substring(0, 8).trim())) {
list.remove(i);
}
}
}
BufferedWriter writer = new BufferedWriter(new FileWriter(sourceFile));
for (int i = 0; i < list.size(); i++) {
writer.write(list.get(i));
writer.newLine();
}
writer.close();
}
}
//додає пробіли в кінець
private static String newEquals (String line, int value) {
if (line.length() > value) return line.substring(0,value);
while (line.length() != value) {
line = line + " ";
}
return line;
}
}