Advertisement
jaVer404

level18.lesson10.bonus02(night_built_beta1)

Jan 20th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.75 KB | None | 0 0
  1. package com.javarush.test.level18.lesson10.bonus02;
  2.  
  3. /* Прайсы
  4. CrUD для таблицы внутри файла
  5. Считать с консоли имя файла для операций CrUD
  6. Программа запускается со следующим набором параметров:
  7. -c productName price quantity
  8. Значения параметров:
  9. где id - 8 символов
  10. productName - название товара, 30 chars (60 bytes)
  11. price - цена, 8 символов
  12. quantity - количество, 4 символа
  13. -c  - добавляет товар с заданными параметрами в конец файла, генерирует id самостоятельно, инкрементируя максимальный id, найденный в файле
  14.  
  15. В файле данные хранятся в следующей последовательности (без разделяющих пробелов):
  16. id productName price quantity
  17. Данные дополнены пробелами до их длины
  18.  
  19. Пример:
  20. 19846   Шорты пляжные синие           159.00  12
  21. 198478  Шорты пляжные черные с рисунко173.00  17
  22. 19847983Куртка для сноубордистов, разм10173.991234
  23. */
  24.  
  25.  
  26. import java.io.*;
  27. import java.util.ArrayList;
  28. import java.util.Arrays;
  29. import java.util.TreeSet;
  30.  
  31. public class Solution {
  32.     public static void main(String[] args) throws IOException
  33.     {
  34.     BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in));;
  35.     BufferedReader fileReader = null;
  36.     ArrayList<String> priceLines = null;
  37.     String fileName=inputReader.readLine();
  38.         if (/*args[0].equals("-c")*/true)
  39.         {
  40.             try
  41.             {
  42.                 fileReader = new BufferedReader(new FileReader(fileName));
  43.                 priceLines = new ArrayList<String>();
  44.                 String line;
  45.                 while ((line = fileReader.readLine()) != null)
  46.                 {
  47.                     priceLines.add(line);
  48.                 }
  49.             }
  50.             catch (Exception e)
  51.             {
  52.                 System.out.println("FirstException");
  53.             }
  54.             finally
  55.             {
  56.                 inputReader.close();
  57.                 fileReader.close();
  58.             }
  59.             String newID = formNewId(findMaxNum(priceLines) + 1);
  60.             String[]args1=new String[3];
  61.             args1[0]="ProdName";
  62.             args1[1]="14.50";
  63.             args1[2]="60";
  64.            // String addThisLine = newID + formNewProdName(args1[0]) + formNewPrice(args1[1]) + formNewQuan(args[2]);
  65.             String addThisLine = "Sucks";
  66.             System.out.println(addThisLine);
  67.             PrintStream fileWriter = null;
  68.             try
  69.             {
  70.                 fileWriter = new PrintStream(fileName);
  71.                 fileWriter.println(addThisLine);
  72.  
  73.             }
  74.             catch (Exception e)
  75.             {
  76.                 System.out.println("Second Exception");
  77.             }
  78.             finally
  79.             {
  80.                 fileWriter.close();
  81.             }
  82.         }
  83.     }
  84.  
  85.  
  86.     public static int findMaxNum (ArrayList<String> list) {
  87.         TreeSet<Integer> nums= new TreeSet<Integer>();
  88.         for (String s : list) {
  89.             nums.add(Integer.parseInt((s.substring(0,8)).replaceAll("\\s","")));
  90.         }
  91.         return nums.last();
  92.     }
  93.  
  94.     public static String formNewId (int i) {
  95.         char[]spaceArray = new char[8];
  96.         Arrays.fill(spaceArray,' ');
  97.         char[]myIntChar = (String.valueOf(i)).toCharArray();
  98.         for (int c = 0; c<myIntChar.length;c++) {
  99.             spaceArray[c] = myIntChar[c];
  100.         }
  101.         return new String(spaceArray);
  102.         }
  103.  
  104.     public static String formNewProdName (String input){
  105.         char[]spaceArray = new char[30];
  106.         Arrays.fill(spaceArray,' ');
  107.         char[]myProdN = input.toCharArray();
  108.         for (int b = 0; b < myProdN.length; b++) {
  109.             spaceArray[b] = myProdN[b];
  110.         }
  111.         return new String(spaceArray);
  112.     }
  113.  
  114.     public static String formNewPrice (String input){
  115.         char[]spaceArray = new char[8];
  116.         Arrays.fill(spaceArray,' ');
  117.         char[]myProdN = input.toCharArray();
  118.         for (int b = 0; b < myProdN.length; b++) {
  119.             spaceArray[b] = myProdN[b];
  120.         }
  121.         return new String(spaceArray);
  122.     }
  123.     public static String formNewQuan (String input){
  124.         char[]spaceArray = new char[4];
  125.         Arrays.fill(spaceArray,' ');
  126.         char[]myProdN = input.toCharArray();
  127.         for (int b = 0; b < myProdN.length; b++) {
  128.             spaceArray[b] = myProdN[b];
  129.         }
  130.         return new String(spaceArray);
  131.     }
  132.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement