Resources.getResource() 메소드는 classpath를 기준으로 파일을 읽는다. 만약 절대적인 위치를 가르키면, Error를 발생한다.
하지만 절대적인 path를 알고 있다면, Guava의 Files.toString()을 사용하면 파일은 잘 받을 수 있다.
@Test
public void test() throws IOException {
URL url = Resources.getResource("api.thrift"); // 내부 class path를 읽도록 함.
//URL url = Resources.getResource("file:/build.properties"); // Error발생
System.out.println(url);
String text = Resources.toString(url, Charsets.UTF_8);
System.out.println(text);
}
@Test
public void test2() throws IOException {
// 절대 path 이용
String text = Files.toString(new File("/build.properties"), Charsets.UTF_8);
System.out.println(text);
}
Files.toString()과 함께 잘 사용하는 것은 Files.hash() 메소드이다. md5 hash 값을 얻어오려면, Files.hash(buildFile, Hashing.md5()) 메소드를 활용한다.
@Test
public void test2() throws IOException {
File buildFile = new File("/mydev/util/build.properties");
String hash = Files.hash(buildFile, Hashing.md5()).toString();
System.out.println(hash);
}
e7eba1bdbd13e21d2b7ae3d110e9ce9d
'general java' 카테고리의 다른 글
[spring boot] spring.devtools.restart.enabled 속성 (0) | 2015.12.28 |
---|---|
[play1] It is indirectly referenced from required .class files (0) | 2015.12.23 |
[Guava] Immutable Collection의 UnsupportedOperationException (0) | 2015.12.21 |
[swift] enum 이슈 - Enum class does not have a value for 55 (0) | 2015.12.21 |
[jenkins] exit 값 활용하기 (0) | 2015.12.02 |