G
Gelöschtes Mitglied 12080
Gast
Falls es einem schonmal gelungen ist ,wie lässt man java Sonderzeichen der schriftart Arial in eine textdatei schreiben?
die textdatei ist im korrekten format eingestellt, so das diese zeichen mithilfe der zeichentabelle in das dokument eingefügt werden können, und das sie auch nach abspeichern korrekt angezeigt werden
hier mal die klasse mit der ich die datei schreiben lasse :
und hier mal die drei zeichen die ich immer in die datei, per hand, reinkopieren muss:
█ (U+2588)
und
▬(U+25AC)
und
►(U+25BA)
die bezeichnungen in klammern gitb mir meine Zeichentabelle von Windoof aus, ich gehe einfach mal davon aus das es die UNI-Codes dafür sind, aber einfügen kann ich die nicht, java erkennt die nicht, es kommen immer nur fragezeichen raus >-<
die textdatei ist im korrekten format eingestellt, so das diese zeichen mithilfe der zeichentabelle in das dokument eingefügt werden können, und das sie auch nach abspeichern korrekt angezeigt werden
hier mal die klasse mit der ich die datei schreiben lasse :
Code:
package DNA.java;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
import java.util.Comparator;
import java.util.TreeMap;
public class ListWriter {
public static void listwriter(int zaehler, String[] nicks, double[] werte) throws IOException {
File suchtywerte = new File("C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\Suchtywerte-top-ten.txt");
if (suchtywerte.exists()) {
suchtywerte.delete();
System.out.println("Datei wird Gelöscht");
} else {
System.out.println("Datei wird neu angelegt");
}
FileWriter fw = new FileWriter(suchtywerte.getPath(), true);
System.out.println("Datei wird neu angelegt");
System.out.println("Schreibe in Datei");
PrintWriter pw = new PrintWriter(fw);
pw.println("#Suchtywerte _TOP-TEN_#");
pw.flush();
String ausgabe = "";
final Map<String, Double> map = new HashMap<String, Double>();
int platz = 1;
for (int feldnummer = 0; feldnummer <= zaehler; feldnummer++) {
map.put(nicks[feldnummer], werte[feldnummer]);
}
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String a, String b) {
return -map.get(a).compareTo(map.get(b));
}
};
Map<String, Double> sortedMap = new TreeMap<String, Double>(comparator);
sortedMap.putAll(map);
for (String s : sortedMap.keySet()) {
try {
ausgabe = "#" + platz + ".)" + s + " ~~~~~~> " + sortedMap.get(s);
pw.println(ausgabe);
pw.flush();
fw.flush();
} catch (IOException error) {
System.out.println("Fehler : " + error.toString());
}
System.out.println("#" + platz + ".)" + s + " ~~~~~~> " + sortedMap.get(s));
platz++;
if (platz == 11) {
break;
}
}
System.out.println("Schreiben beendet");
pw.close();
fw.close();
}
}
und hier mal die drei zeichen die ich immer in die datei, per hand, reinkopieren muss:
█ (U+2588)
und
▬(U+25AC)
und
►(U+25BA)
die bezeichnungen in klammern gitb mir meine Zeichentabelle von Windoof aus, ich gehe einfach mal davon aus das es die UNI-Codes dafür sind, aber einfügen kann ich die nicht, java erkennt die nicht, es kommen immer nur fragezeichen raus >-<