| | |
| | | retStr.append("%2F");
|
| | | } else if (inStr.charAt(i) == ' ') {
|
| | | retStr.append("%20");
|
| | | } else if (inStr.charAt(i) == '&') {
|
| | | retStr.append("%26");
|
| | | } else {
|
| | | retStr.append(inStr.charAt(i));
|
| | | }
|
| | | i++;
|
| | | }
|
| | | return retStr.toString();
|
| | | }
|
| | |
|
| | | /**
|
| | | * Flatten the list of strings into a single string with the specified
|
| | | * separator.
|
| | | *
|
| | | * @param values
|
| | | * @param separator
|
| | | * @return flattened list
|
| | | */
|
| | | public static String flattenStrings(String[] values, String separator) {
|
| | | return flattenStrings(Arrays.asList(values), separator);
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | * @param bytes
|
| | | * @return byte array as hex string
|
| | | */
|
| | | private static String toHex(byte[] bytes) {
|
| | | public static String toHex(byte[] bytes) {
|
| | | StringBuilder sb = new StringBuilder(bytes.length * 2);
|
| | | for (int i = 0; i < bytes.length; i++) {
|
| | | if ((bytes[i] & 0xff) < 0x10) {
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * Returns the file extension of a path.
|
| | | *
|
| | | * @param path
|
| | | * @return a blank string or a file extension
|
| | | */
|
| | | public static String stripFileExtension(String path) {
|
| | | int lastDot = path.lastIndexOf('.');
|
| | | if (lastDot > -1) {
|
| | | return path.substring(0, lastDot);
|
| | | }
|
| | | return path;
|
| | | }
|
| | |
|
| | | /**
|
| | | * Replace all occurences of a substring within a string with
|
| | | * another string.
|
| | | *
|
| | |
| | | // ignore unsupported charsets
|
| | | }
|
| | | }
|
| | | if (value.startsWith("\uFEFF")) {
|
| | | if (value != null && value.startsWith("\uFEFF")) {
|
| | | // strip UTF-8 BOM
|
| | | return value.substring(1);
|
| | | }
|
| | |
| | | }
|
| | | return input.replace('\n',' ').replace('\r', ' ').trim();
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * Encode the username for user in an url.
|
| | | *
|
| | | * @param name
|
| | | * @return the encoded name
|
| | | */
|
| | | public static String encodeUsername(String name) {
|
| | | return name.replace("@", "%40").replace(" ", "%20").replace("\\", "%5C");
|
| | | }
|
| | |
|
| | | /**
|
| | | * Decode a username from an encoded url.
|
| | | *
|
| | | * @param name
|
| | | * @return the decoded name
|
| | | */
|
| | | public static String decodeUsername(String name) {
|
| | | return name.replace("%40", "@").replace("%20", " ").replace("%5C", "\\");
|
| | | }
|
| | | } |