-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
105 lines (69 loc) · 3.7 KB
/
Solution.java
File metadata and controls
105 lines (69 loc) · 3.7 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
93
94
95
96
97
98
99
100
101
102
103
104
105
//When therefore I have accomplished this, and have sealed to them this fruit, I will go on by way of you to Spain. (Romans 15:28)
-----------------------------------------------------AdapterFileOutputStream.java--------------------------------------------------
package com.javarush.task.task19.task1902;
/*
Адаптер
*/
import java.io.FileOutputStream;
import java.io.IOException;
public class AdapterFileOutputStream implements AmigoStringWriter {
private FileOutputStream fileOutputStream;
public static void main(String[] args) {
}
public AdapterFileOutputStream(FileOutputStream fileOutputStream) {
this.fileOutputStream = fileOutputStream;
}
@Override
public void flush() throws IOException {
fileOutputStream.flush();
}
@Override
public void writeString(String s) throws IOException {
fileOutputStream.write(s.getBytes());
}
@Override
public void close() throws IOException {
fileOutputStream.close();
}
}
-----------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------AmigoStringWriter.java-------------------------------------------------------
package com.javarush.task.task19.task1902;
import java.io.IOException;
public interface AmigoStringWriter {
void flush() throws IOException;
void writeString(String s) throws IOException;
void close() throws IOException;
}
-----------------------------------------------------------------------------------------------------------------------------------
/*
Адаптер
Используй класс AdapterFileOutputStream, чтобы адаптировать FileOutputStream к новому интерфейсу AmigoStringWriter.
Требования:
1. AmigoStringWriter должен быть интерфейсом.
2. Класс AdapterFileOutputStream должен реализовывать интерфейс AmigoStringWriter.
3. Класс AdapterFileOutputStream должен содержать приватное поле fileOutputStream типа FileOutputStream.
4. Класс AdapterFileOutputStream должен содержать конструктор с параметром FileOutputStream.
5. Метод flush() класса AdapterFileOutputStream должен делегировать полномочие такому же методу fileOutputStream.
6. Метод writeString(String s) класса AdapterFileOutputStream должен делегировать полномочие такому же методу fileOutputStream.
7. Метод close() класса AdapterFileOutputStream должен делегировать полномочие такому же методу fileOutputStream.
-----------------------------------------------------AdapterFileOutputStream.java--------------------------------------------------
package com.javarush.task.task19.task1902;
*
Адаптер
*
public class AdapterFileOutputStream {
public static void main(String[] args) {
}
}
-----------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------AmigoStringWriter.java-------------------------------------------------------
package com.javarush.task.task19.task1902;
import java.io.IOException;
public interface AmigoStringWriter {
void flush() throws IOException;
void writeString(String s) throws IOException;
void close() throws IOException;
}
-----------------------------------------------------------------------------------------------------------------------------------
*/