Skip to content

Instantly share code, notes, and snippets.

@ormanli
Last active April 2, 2017 18:17
Show Gist options
  • Save ormanli/9020129 to your computer and use it in GitHub Desktop.
Save ormanli/9020129 to your computer and use it in GitHub Desktop.
Script for converting Non ASCII caharacters to ASCII in JAXB classes for Turkish
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class NonASCIItoASCII {
public static void main(String[] args) throws Exception {
generateNewClass("path/to/file");
}
public static void generateNewClass(String path) throws Exception {
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
String in = new String(data, "UTF-8");
in = in.replaceAll("Ş", "S");
in = in.replaceAll("ş", "s");
in = in.replaceAll("Ö", "O");
in = in.replaceAll("ö", "o");
in = in.replaceAll("Ğ", "G");
in = in.replaceAll("ğ", "g");
in = in.replaceAll("Ü", "U");
in = in.replaceAll("ü", "u");
in = in.replaceAll("Ç", "C");
in = in.replaceAll("ç", "c");
in = in.replaceAll("İ", "I");
in = in.replaceAll("ı", "i");
String[] fr = in.split("(@)");
StringBuilder result = new StringBuilder();
for (int i = 0; i < fr.length; i++) {
if (fr[i].contains("propOrder")) {
fr[i] = fr[i].replaceAll("\\\\u00fc", "u");
fr[i] = fr[i].replaceAll("\\\\u00dc", "U");
fr[i] = fr[i].replaceAll("\\\\u00d6", "O");
fr[i] = fr[i].replaceAll("\\\\u00f6", "o");
fr[i] = fr[i].replaceAll("\\\\u00c7", "C");
fr[i] = fr[i].replaceAll("\\\\u00e7", "c");
fr[i] = fr[i].replaceAll("\\\\u0130", "I");
fr[i] = fr[i].replaceAll("\\\\u0131", "i");
fr[i] = fr[i].replaceAll("\\\\u011f", "g");
fr[i] = fr[i].replaceAll("\\\\u011e", "G");
fr[i] = fr[i].replaceAll("\\\\u015e", "S");
fr[i] = fr[i].replaceAll("\\\\u015f", "s");
}
result.append(fr[i]);
if (i != fr.length - 1) {
result.append("@");
}
}
in = result.toString();
File file2;
file2 = new File("generatedClass.txt");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file2), "UTF8"));
if (!file2.exists()) {
file2.createNewFile();
}
out.write(in);
out.flush();
out.close();
System.out.println("Done");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment