diff options
Diffstat (limited to 'src/de/danoeh/antennapod/util/FileNameGenerator.java')
-rw-r--r-- | src/de/danoeh/antennapod/util/FileNameGenerator.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/util/FileNameGenerator.java b/src/de/danoeh/antennapod/util/FileNameGenerator.java new file mode 100644 index 000000000..3bc193080 --- /dev/null +++ b/src/de/danoeh/antennapod/util/FileNameGenerator.java @@ -0,0 +1,36 @@ +package de.danoeh.antennapod.util; + +import java.util.Arrays; + +/** Generates valid filenames for a given string. */ +public class FileNameGenerator { + + private static final char[] ILLEGAL_CHARACTERS = { '/', '\\', '?', '%', + '*', ':', '|', '"', '<', '>' }; + static { + Arrays.sort(ILLEGAL_CHARACTERS); + } + + private FileNameGenerator() { + + } + + /** + * This method will return a new string that doesn't contain any illegal + * characters of the given string. + */ + public static String generateFileName(String string) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < string.length(); i++) { + char c = string.charAt(i); + if (Arrays.binarySearch(ILLEGAL_CHARACTERS, c) < 0) { + builder.append(c); + } + } + return builder.toString(); + } + + public static long generateLong(final String str) { + return str.hashCode(); + } +} |