summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/util/FileNameGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/util/FileNameGenerator.java')
-rw-r--r--src/de/danoeh/antennapod/util/FileNameGenerator.java36
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();
+ }
+}