Добрый вечер.
Не заходит в циклы while ни в случае с -u, ни с -d.
Подскажите, пожалуйста, в чем проблема.
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader fileNameReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = fileNameReader.readLine();
fileNameReader.close();
BufferedReader linesReader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName)));
ArrayList<String> lines = new ArrayList<>();
if (args[0].equals("-u")) {
while (linesReader.ready()) {
lines.add(linesReader.readLine());
}
linesReader.close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < lines.size(); i++) {
if (lines.get(i).startsWith(args[1])) {
sb.append(getId(args[1])).append(updateProductName(args[2])).append(updatePrice(args[3])).append(updateQuantity(args[4]));
lines.set(i, sb.toString());
}
}
for (int i = 0; i < lines.size(); i++) {
writer.write(lines.get(i));
}
writer.close();
} else if (args[0].equals("-d")) {
while (linesReader.ready()) {
lines.add(linesReader.readLine());
}
linesReader.close();
for (int i = 0; i < lines.size(); i++) {
if (lines.get(i).startsWith(args[1])) {
lines.remove(i);
}
}
for (int i = 0; i < lines.size(); i++) {
writer.write(lines.get(i));
}
writer.close();
} else {
}
}
public static String getId(String argument) {
StringBuilder initialId = new StringBuilder();
initialId.append(argument);
for (int i = argument.length(); i < 8; i++) {
initialId.append(' ');
}
String id = initialId.toString();
return id;
}
public static String updateProductName(String argument) {
StringBuilder newProductName = new StringBuilder();
newProductName.append(argument);
for (int i = argument.length(); i < 30; i++) {
newProductName.append(' ');
}
String ProductName = newProductName.toString();
return ProductName;
}
public static String updatePrice(String argument) {
StringBuilder newPrice = new StringBuilder();
newPrice.append(argument);
for (int i = argument.length(); i < 8; i++) {
newPrice.append(' ');
}
String price = newPrice.toString();
return price;
}
public static String updateQuantity(String argument) {
StringBuilder newQuantity = new StringBuilder();
newQuantity.append(argument);
for (int i = argument.length(); i < 4; i++) {
newQuantity.append(' ');
}
String quantity = newQuantity.toString();
return quantity;
}
}