Skip to content

Commit fc136e4

Browse files
tobiasbaumTobias Baum
and
Tobias Baum
authored
Explicitly use UTF-8 in IOUtils (#2935)
Fixes #2933 Co-authored-by: Tobias Baum <[email protected]>
1 parent 9473470 commit fc136e4

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/main/java/org/mockito/internal/util/io/IOUtil.java

+10-6
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
import java.io.BufferedReader;
88
import java.io.Closeable;
99
import java.io.File;
10-
import java.io.FileWriter;
10+
import java.io.FileOutputStream;
1111
import java.io.IOException;
1212
import java.io.InputStream;
1313
import java.io.InputStreamReader;
14-
import java.io.PrintWriter;
14+
import java.io.OutputStreamWriter;
15+
import java.nio.charset.StandardCharsets;
1516
import java.util.Collection;
1617
import java.util.LinkedList;
1718
import java.util.List;
@@ -24,12 +25,12 @@
2425
public final class IOUtil {
2526

2627
/**
27-
* Writes text to file
28+
* Writes text to file in UTF-8.
2829
*/
2930
public static void writeText(String text, File output) {
30-
PrintWriter pw = null;
31+
OutputStreamWriter pw = null;
3132
try {
32-
pw = new PrintWriter(new FileWriter(output));
33+
pw = new OutputStreamWriter(new FileOutputStream(output), StandardCharsets.UTF_8);
3334
pw.write(text);
3435
} catch (Exception e) {
3536
throw new MockitoException("Problems writing text to file: " + output, e);
@@ -38,9 +39,12 @@ public static void writeText(String text, File output) {
3839
}
3940
}
4041

42+
/**
43+
* Reads all lines from the given stream. Uses UTF-8.
44+
*/
4145
public static Collection<String> readLines(InputStream is) {
4246
List<String> out = new LinkedList<>();
43-
BufferedReader r = new BufferedReader(new InputStreamReader(is));
47+
BufferedReader r = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
4448
String line;
4549
try {
4650
while ((line = r.readLine()) != null) {

0 commit comments

Comments
 (0)