Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level18.lesson10.bonus02;
- /* Прайсы
- CrUD для таблицы внутри файла
- Считать с консоли имя файла для операций CrUD
- Программа запускается со следующим набором параметров:
- -c productName price quantity
- Значения параметров:
- где id - 8 символов
- productName - название товара, 30 chars (60 bytes)
- price - цена, 8 символов
- quantity - количество, 4 символа
- -c - добавляет товар с заданными параметрами в конец файла, генерирует id самостоятельно, инкрементируя максимальный id, найденный в файле
- В файле данные хранятся в следующей последовательности (без разделяющих пробелов):
- id productName price quantity
- Данные дополнены пробелами до их длины
- Пример:
- 19846 Шорты пляжные синие 159.00 12
- 198478 Шорты пляжные черные с рисунко173.00 17
- 19847983Куртка для сноубордистов, разм10173.991234
- */
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.TreeSet;
- public class Solution {
- public static void main(String[] args) throws IOException
- {
- BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in));;
- BufferedReader fileReader = null;
- ArrayList<String> priceLines = null;
- String fileName=inputReader.readLine();
- if (/*args[0].equals("-c")*/true)
- {
- try
- {
- fileReader = new BufferedReader(new FileReader(fileName));
- priceLines = new ArrayList<String>();
- String line;
- while ((line = fileReader.readLine()) != null)
- {
- priceLines.add(line);
- }
- }
- catch (Exception e)
- {
- System.out.println("FirstException");
- }
- finally
- {
- inputReader.close();
- fileReader.close();
- }
- String newID = formNewId(findMaxNum(priceLines) + 1);
- String[]args1=new String[3];
- args1[0]="ProdName";
- args1[1]="14.50";
- args1[2]="60";
- // String addThisLine = newID + formNewProdName(args1[0]) + formNewPrice(args1[1]) + formNewQuan(args[2]);
- String addThisLine = "Sucks";
- System.out.println(addThisLine);
- PrintStream fileWriter = null;
- try
- {
- fileWriter = new PrintStream(fileName);
- fileWriter.println(addThisLine);
- }
- catch (Exception e)
- {
- System.out.println("Second Exception");
- }
- finally
- {
- fileWriter.close();
- }
- }
- }
- public static int findMaxNum (ArrayList<String> list) {
- TreeSet<Integer> nums= new TreeSet<Integer>();
- for (String s : list) {
- nums.add(Integer.parseInt((s.substring(0,8)).replaceAll("\\s","")));
- }
- return nums.last();
- }
- public static String formNewId (int i) {
- char[]spaceArray = new char[8];
- Arrays.fill(spaceArray,' ');
- char[]myIntChar = (String.valueOf(i)).toCharArray();
- for (int c = 0; c<myIntChar.length;c++) {
- spaceArray[c] = myIntChar[c];
- }
- return new String(spaceArray);
- }
- public static String formNewProdName (String input){
- char[]spaceArray = new char[30];
- Arrays.fill(spaceArray,' ');
- char[]myProdN = input.toCharArray();
- for (int b = 0; b < myProdN.length; b++) {
- spaceArray[b] = myProdN[b];
- }
- return new String(spaceArray);
- }
- public static String formNewPrice (String input){
- char[]spaceArray = new char[8];
- Arrays.fill(spaceArray,' ');
- char[]myProdN = input.toCharArray();
- for (int b = 0; b < myProdN.length; b++) {
- spaceArray[b] = myProdN[b];
- }
- return new String(spaceArray);
- }
- public static String formNewQuan (String input){
- char[]spaceArray = new char[4];
- Arrays.fill(spaceArray,' ');
- char[]myProdN = input.toCharArray();
- for (int b = 0; b < myProdN.length; b++) {
- spaceArray[b] = myProdN[b];
- }
- return new String(spaceArray);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement