Advertisement
jaVer404

level18.lesson10.bonus02(scratch release)

Feb 1st, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 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. import java.io.BufferedReader;
  26. import java.io.FileInputStream;
  27. import java.io.InputStreamReader;
  28.  
  29. public class Solution {
  30.     public static void main(String[] args) throws Exception {
  31.         if (args[0].equals("-c")&&args.length>=4) {
  32.             BufferedReader  nameReader = new BufferedReader(new InputStreamReader(System.in));
  33.             FileInputStream fis = null;
  34.             BufferedReader reader = null;
  35.             int max=0;
  36.             try {
  37.                 fis = new FileInputStream(nameReader.readLine());
  38.                 reader = new BufferedReader(new InputStreamReader(fis));
  39.                 String line;
  40.  
  41.                 int temp=0;
  42.                 while ((line = reader.readLine()) != null) {
  43.                     if (line.length()>=8) {
  44.                         try
  45.                         {
  46.                             temp = Integer.parseInt((line.substring(0,8)).replaceAll("\\D+"," "));
  47.                             if (temp>max) {
  48.                                 max=temp;
  49.                             }
  50.                         }
  51.                         catch (Exception e) {}
  52.                     }
  53.                 }
  54.                 max++;
  55.             }
  56.             catch (Exception e) {
  57.  
  58.             }
  59.             finally
  60.             {
  61.  
  62.             }
  63.             System.out.println(max);
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement