My question is this. Am I overcomplicating things?I read some simpler solutions and I can adapt.
I have tried this code on my computer and it works as the tasks say but I noticed that I tend to overcomplicate the code.
package com.codegym.task.task18.task1827;
/*
Prices
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
if(args.length==0||!args[0].equalsIgnoreCase("-c")){
return;
}
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String fileName= reader.readLine();
reader.close();
BufferedReader fileReader= new BufferedReader(new FileReader("C:\\Users\\Andreea\\IdeaProjects\\1.txt"));
ArrayList<String> list=new ArrayList<>();
if (args[0].equalsIgnoreCase("-c")){
String data="";
while((data=fileReader.readLine())!=null){
list.add(data);
}
fileReader.close();
BufferedWriter fileWriter= new BufferedWriter(new FileWriter("C:\\Users\\Andreea\\IdeaProjects\\1.txt"));
for(String s:list) {
fileWriter.write(s + "\n");
}
String finalLine=list.get(list.size()-1);
String[] indexS=finalLine.split("");
int index=Integer.parseInt(indexS[0])+1;
String ceva=Integer.toString(index);
char[] idB=ceva.toCharArray();
char[] id=new char[8];
String idF="";
String productNameF="";
String priceF="";
String quantityF="";
for(int i=0;i<id.length;i++){
try{
id[i]=idB[i];
}
catch (Exception e){
id[i]=' ';
}
}
for(char c:id){
idF+=c;
}
char[] productNameB=args[1].toCharArray();
char[] productName=new char[30];
for(int i=0;i<productName.length;i++){
try{
productName[i]=productNameB[i];
}
catch (Exception e){
productName[i]=' ';
}
}
for(char c:productName){
productNameF+=c;
}
char[] priceB=args[2].toCharArray();
char[] price=new char[8];
for(int i=0;i<price.length;i++){
try{
price[i]=priceB[i];
}
catch (Exception e){
price[i]=' ';
}
}
for(char c:price){
priceF+=c;
}
char[] quantityB=args[3].toCharArray();
char[] quantity=new char[4];
for(int i=0;i<quantity.length;i++){
try{
quantity[i]=quantityB[i];
}
catch (Exception e){
quantity[i]=' ';
}
}
for(char c:quantity){
quantityF+=c;
}
fileWriter.write(idF+productNameF+priceF+quantityF);
fileWriter.close();
}
}
}