Mercurial Hosting > luan
diff src/luan/lib/Utils.java @ 143:fcb81fa2df0d
handle urls and java resources as files
git-svn-id: https://luan-java.googlecode.com/svn/trunk@144 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 13 Jun 2014 19:04:05 +0000 |
parents | 0594c132888b |
children | d310ebf4d6e7 |
line wrap: on
line diff
--- a/src/luan/lib/Utils.java Fri Jun 13 17:05:31 2014 +0000 +++ b/src/luan/lib/Utils.java Fri Jun 13 19:04:05 2014 +0000 @@ -5,6 +5,9 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; +import java.io.File; +import java.net.URL; +import java.net.MalformedURLException; import luan.LuanState; import luan.LuanException; @@ -49,4 +52,26 @@ return out.toByteArray(); } + public static boolean isFile(String path) { + return new File(path).exists(); + } + + public static String toUrl(String path) { + if( path.indexOf(':') == -1 ) + return null; + if( path.startsWith("java:") ) { + path = path.substring(5); + URL url = ClassLoader.getSystemResource(path); + return url==null ? null : url.toString(); + } + try { + new URL(path); + return path; + } catch(MalformedURLException e) {} + return null; + } + + public static boolean exists(String path) { + return isFile(path) || toUrl(path)!=null; + } }