Lauren Green 7 лет назад
Родитель
Сommit
4ed5653e00

+ 23
- 3
src/main/java/rocks/zipcode/Document.java Просмотреть файл

1
 package rocks.zipcode;
1
 package rocks.zipcode;
2
 
2
 
3
 import java.io.*;
3
 import java.io.*;
4
+import java.nio.file.Files;
5
+import java.nio.file.Paths;
6
+import java.util.ArrayList;
4
 import java.util.List;
7
 import java.util.List;
5
 
8
 
6
 /**
9
 /**
35
 
38
 
36
     @Override
39
     @Override
37
     public void write(Integer lineNumber, String valueToBeWritten) {
40
     public void write(Integer lineNumber, String valueToBeWritten) {
41
+
42
+            String line = read(lineNumber);
43
+            String doc = read();
44
+            doc = doc.replace(line, valueToBeWritten);
45
+            write(doc);
46
+
38
     }
47
     }
39
 
48
 
40
     @Override
49
     @Override
95
 
104
 
96
     @Override
105
     @Override
97
     public void replaceAll(String stringToReplace, String replacementString) {
106
     public void replaceAll(String stringToReplace, String replacementString) {
107
+
108
+        String doc = read();
109
+        doc = doc.replaceAll(stringToReplace, replacementString);
110
+        write(doc);
111
+
98
     }
112
     }
99
 
113
 
100
     @Override
114
     @Override
101
     public void overWrite(String content) {
115
     public void overWrite(String content) {
116
+        write(content);
102
     }
117
     }
103
 
118
 
104
     public List<String> toList() {
119
     public List<String> toList() {
105
-        return null;
120
+        String[] arr = read().split("\n");
121
+        List<String> result = new ArrayList<>();
122
+        for(String s: arr) {
123
+            result.add(s);
124
+        }
125
+        return result;
106
     }
126
     }
107
 
127
 
108
     @Override
128
     @Override
109
     public File getFile() {
129
     public File getFile() {
110
-        return null;
130
+        return this.file;
111
     }
131
     }
112
 
132
 
113
     @Override
133
     @Override
114
     public String toString() {
134
     public String toString() {
115
-        return null;
135
+        return getFile() + "{" + read() + "}";
116
     }
136
     }
117
 }
137
 }

+ 10
- 1
src/main/java/rocks/zipcode/NumericCharDocument.java Просмотреть файл

1
 package rocks.zipcode;
1
 package rocks.zipcode;
2
 
2
 
3
 import java.io.IOException;
3
 import java.io.IOException;
4
+import java.util.regex.Matcher;
5
+import java.util.regex.Pattern;
4
 
6
 
5
 /**
7
 /**
6
  * @author leon on 16/11/2018.
8
  * @author leon on 16/11/2018.
12
 
14
 
13
     @Override
15
     @Override
14
     public void write(String contentToBeWritten) {
16
     public void write(String contentToBeWritten) {
17
+        if(isNumeric(contentToBeWritten)) {
18
+            super.write(contentToBeWritten);
19
+        } else {
20
+            throw new IllegalArgumentException();
21
+        }
15
     }
22
     }
16
 
23
 
17
     private Boolean isNumeric(String s) {
24
     private Boolean isNumeric(String s) {
18
-        return null;
25
+        Pattern pattern = Pattern.compile("^[1-9 ]+$");
26
+        Matcher match = pattern.matcher(s);
27
+        return match.find();
19
     }
28
     }
20
 }
29
 }

+ 11
- 1
src/main/java/rocks/zipcode/SpecialCharDocument.java Просмотреть файл

1
 package rocks.zipcode;
1
 package rocks.zipcode;
2
 
2
 
3
 import java.io.IOException;
3
 import java.io.IOException;
4
+import java.util.regex.Matcher;
5
+import java.util.regex.Pattern;
4
 
6
 
5
 /**
7
 /**
6
  * @author leon on 18/11/2018.
8
  * @author leon on 18/11/2018.
12
 
14
 
13
     @Override
15
     @Override
14
     public void write(String contentToBeWritten) {
16
     public void write(String contentToBeWritten) {
17
+        if(isSpecialCharacters(contentToBeWritten)) {
18
+            super.write(contentToBeWritten);
19
+        } else {
20
+            throw new IllegalArgumentException();
21
+        }
15
     }
22
     }
16
 
23
 
17
     private Boolean isSpecialCharacters(String s) {
24
     private Boolean isSpecialCharacters(String s) {
18
-        return null;
25
+
26
+        Pattern pattern = Pattern.compile("^[!@#$%^&*()_ ]+$");
27
+        Matcher match = pattern.matcher(s);
28
+        return match.find();
19
     }
29
     }
20
 }
30
 }