Repository navigation
Expand file tree
/
Copy pathSolution.java
More file actions
92 lines (71 loc) · 3.58 KB
/
Copy pathSolution.java
File metadata and controls
92 lines (71 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//For it has been the good pleasure of Macedonia and Achaia to make a certain contribution for the poor among the saints who are at Jerusalem. (Romans 15:26)
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.LinkedList;
import java.util.List;
public class Solution {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
String fileName = reader.readLine();
try (BufferedReader fileReader = new BufferedReader(new FileReader(fileName))) {
String line;
List<String> list = new LinkedList<>();
while ((line = fileReader.readLine()) != null) {
if (line.substring(0, 8).trim().equals(args[1])) {
if ("-u".equals(args[0])) {
list.add(String.format("%-8s%-30s%-8s%-4s", args[1], args[2], args[3], args[4]));
}
} else {
list.add(line);
}
}
try (FileOutputStream fos = new FileOutputStream(fileName)) {
for (String s : list) {
fos.write((String.format("%s%n", s)).getBytes());
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/*
Прайсы 2
CrUD для таблицы внутри файла
Считать с консоли имя файла для операций CrUD
Программа запускается с одним из следующих наборов параметров:
-u id productName price quantity
-d id
Значения параметров:
где id — 8 символов
productName — название товара, 30 chars (60 bytes)
price — цена, 8 символов
quantity — количество, 4 символа
-u — обновляет данные товара с заданным id
-d — производит физическое удаление товара с заданным id (все данные, которые относятся к переданному id)
В файле данные хранятся в следующей последовательности (без разделяющих пробелов):
id productName price quantity
Данные дополнены пробелами до их длины
Пример:
19847 Шорты пляжные синие 159.00 12
198479 Шорты пляжные черные с рисунко173.00 17
19847983Куртка для сноубордистов, разм10173.991234
Требования:
1. Программа должна считать имя файла для операций CrUD с консоли.
2. При запуске программы без параметров список товаров должен остаться неизменным.
3. При запуске программы с параметрами "-u id productName price quantity" должна обновится информация о товаре в файле.
4. При запуске программы с параметрами "-d id" строка товара с заданным id должна быть удалена из файла.
5. Созданные для файлов потоки должны быть закрыты.
package com.javarush.task.task18.task1828;
*
Прайсы 2
*
public class Solution {
public static void main(String[] args) {
}
}
*/