1 /**
2 * Copyright (c) 2008-2011, http://www.snakeyaml.org
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package org.yaml.snakeyaml;
18
19 import java.io.BufferedInputStream;
20 import java.io.IOException;
21 import java.io.InputStream;
22
23 public class Util {
24
25 public static String getLocalResource(String theName) {
26 try {
27 InputStream input;
28 input = YamlDocument.class.getClassLoader().getResourceAsStream(theName);
29 if (input == null) {
30 throw new RuntimeException("Can not find " + theName);
31 }
32 BufferedInputStream is = new BufferedInputStream(input);
33 StringBuilder buf = new StringBuilder(3000);
34 int i;
35 try {
36 while ((i = is.read()) != -1) {
37 buf.append((char) i);
38 }
39 } finally {
40 is.close();
41 }
42 String resource = buf.toString();
43 // convert EOLs
44 String[] lines = resource.split("\\r?\\n");
45 StringBuilder buffer = new StringBuilder();
46 for (int j = 0; j < lines.length; j++) {
47 buffer.append(lines[j]);
48 buffer.append("\n");
49 }
50 return buffer.toString();
51 } catch (IOException e) {
52 throw new RuntimeException(e);
53 }
54 }
55 }