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;
+	}
 }