}
/**
- * escape a string according to the local platform's escape character
+ * An earlier version of escapeString()? Looks fine to me -- BH
*
- * @param file
- * @return escaped file
+ * Answers the input with every backslash replaced with a double backslash (an
+ * 'escaped' single backslash)
+ *
+ * @param s
+ * @return
*/
- public static String escapeString(String file)
+ public static String escapeBackslashes(String s)
{
- StringBuffer f = new StringBuffer();
- int p = 0, lastp = 0;
- while ((p = file.indexOf('\\', lastp)) > -1)
- {
- f.append(file.subSequence(lastp, p));
- f.append("\\\\");
- lastp = p + 1;
- }
- f.append(file.substring(lastp));
- return f.toString();
+ return s == null ? null : s.replace("\\", "\\\\");
}
/**
}
+ /**
+ * A (case sensitive) file path comparator that ignores the difference between
+ * / and \
+ *
+ * @param path1
+ * @param path2
+ * @return
+ */
+ public static boolean pathEquals(String path1, String path2)
+ {
+ if (path1 == null)
+ {
+ return path2 == null;
+ }
+ if (path2 == null)
+ {
+ return false;
+ }
+ String p1 = path1.replace('\\', '/');
+ String p2 = path2.replace('\\', '/');
+ return p1.equals(p2);
+ }
+
public static URL getDocumentBase()
{
return (isJS ? jsutil.getDocumentBase() : null);