1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.eluder.coveralls.maven.plugin.util;
25
26 import java.io.File;
27 import java.io.FileInputStream;
28 import java.io.FileNotFoundException;
29 import java.io.IOException;
30 import java.io.InputStreamReader;
31 import java.io.PrintWriter;
32 import java.net.URISyntaxException;
33 import java.net.URL;
34 import java.nio.charset.StandardCharsets;
35 import java.util.Locale;
36
37 import org.apache.commons.codec.digest.DigestUtils;
38 import org.apache.commons.io.IOUtils;
39
40 public class TestIoUtil {
41
42 public static void writeFileContent(final String content, final File file) throws FileNotFoundException {
43 try (PrintWriter writer = new PrintWriter(file)) {
44 writer.write(content);
45 }
46 }
47
48 public static String readFileContent(final File file) throws FileNotFoundException, IOException {
49 try (InputStreamReader reader = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8)) {
50 return IOUtils.toString(reader);
51 }
52 }
53
54 public static File getFile(final String resource) {
55 try {
56 String local = resource;
57 if (local.lastIndexOf("/") > 0) {
58 local = local.substring(local.lastIndexOf('/'));
59 }
60 if (!local.startsWith("/")) {
61 local = "/" + local;
62 }
63 return new File(getResourceUrl(local).toURI());
64 } catch (URISyntaxException ex) {
65 throw new IllegalArgumentException(ex);
66 }
67 }
68
69 public static String getSha512DigestHex(final String content) {
70 return DigestUtils.sha512Hex(content).toUpperCase(Locale.ENGLISH);
71 }
72
73 private static URL getResourceUrl(final String resource) {
74 return TestIoUtil.class.getResource(resource);
75 }
76 }