-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
60 lines (40 loc) · 2.04 KB
/
Solution.java
File metadata and controls
60 lines (40 loc) · 2.04 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
//And in that day ye shall ask me nothing. Verily, verily, I say unto you, Whatsoever ye shall ask the Father in my name, he will give it you. (John 16:23)
package com.javarush.task.task32.task3202;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
/*
Читаем из потока
*/
public class Solution {
public static void main(String[] args) throws IOException {
StringWriter writer = getAllDataFromInputStream(new FileInputStream("testFile.log"));
System.out.println(writer.toString());
}
public static StringWriter getAllDataFromInputStream(InputStream is) throws IOException {
StringWriter writer = new StringWriter();
try {
while (is.available() > 0) {
byte[] buf = new byte[1024];
int len = is.read(buf);
String s = new String(buf, 0, len);
writer.append(s);
}
} catch (Exception e) {
return new StringWriter();
}
return writer;
}
}
/*
Читаем из потока
Реализуй логику метода getAllDataFromInputStream. Он должен вернуть StringWriter, содержащий все данные из переданного потока.
Возвращаемый объект ни при каких условиях не должен быть null.
Метод main не участвует в тестировании.
Требования:
1. Публичный статический метод getAllDataFromInputStream (InputStream) должен существовать.
2. Метод getAllDataFromInputStream (InputStream) должен возвращать StringWriter.
3. Метод getAllDataFromInputStream (InputStream) должен вернуть StringWriter, который содержит все данные из переданного потока.
4. Возвращаемый объект ни при каких условиях не должен быть null.
*/