1 package net.krecan.m2_proxy.utils;
2
3 import java.io.ByteArrayOutputStream;
4 import java.io.File;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.InputStreamReader;
8 import java.io.OutputStream;
9
10 import net.krecan.m2_proxy.Resource;
11
12 import org.apache.commons.logging.Log;
13 import org.apache.commons.logging.LogFactory;
14 import org.springframework.util.FileCopyUtils;
15
16 /***
17 * Utilities for coping with resources
18 * @author krel
19 *
20 */
21 public class ResourceUtils {
22
23 private static final Log LOG = LogFactory.getLog(ResourceUtils.class);
24
25 private ResourceUtils() {
26 super();
27 }
28
29 /***
30 * Copy file
31 * @param in
32 * @param out
33 * @throws IOException
34 */
35 public static final void copy(File in, File out) throws IOException
36 {
37 LOG.debug("Copying file "+in+" to "+out);
38 FileCopyUtils.copy(in, out);
39 }
40 /***
41 * Copy data from input stream to the output stream
42 * @param in
43 * @param out
44 * @throws IOException
45 */
46 public static final void copy(InputStream in, OutputStream out) throws IOException
47 {
48 FileCopyUtils.copy(in, out);
49 }
50
51 /***
52 * Copy the data from the stream to the string
53 * @param in
54 * @return
55 * @throws IOException
56 */
57 public static final String copyToString(InputStream in) throws IOException
58 {
59 return FileCopyUtils.copyToString(new InputStreamReader(in));
60 }
61
62 /***
63 * Returns content of the resource as a string
64 * @param resource
65 * @return
66 * @throws IOException
67 */
68 public static final String extractStringFromResource(Resource resource) throws IOException
69 {
70 ByteArrayOutputStream out = new ByteArrayOutputStream();
71 resource.copyToStream(out);
72 return new String(out.toByteArray());
73 }
74
75 }