mardi 26 mai 2015

Quellcode einelsen "line by line" (und abspeichern in file (txt)

Hey Leute,

in meinem aktuellen Projekt will ich Facebook-Kommentare einlesen und dann in einer Datei abspeichern. Die entsprechenden URL's habe ich bereits erstellt und auch ein Facebook-Token habe ich mir generieren lassen.

Der Aufruf funktioniert ohne Probleme. Auch die "Weiterverarbeitung" der Daten, die ich abspeichern will, funktioniert ohne Probleme.

Nun zum Problem:
Zitat:

{
"data": [
{
"message": "L\u00fbck\u00fd",
"id": "1414421398881493"
},
{
"message": "Bauchspeck1988",
"id": "1414421415548158"
},
{
"message": "Dullitwin",
"id": "1414421428881490"
},
{
"message": "Yondaime PikaCHO",
"id": "1414422005548099"
},
{
"message": "HandOnHerdplatte",
"id": "1414422462214720"
},
{
"message": "QueQueWang",
"id": "1414423982214568"
},
{
"message": "Greedythan",
"id": "1414424052214561"
},
{
"message": "FrontallFLashpoi",
"id": "1414425098881123"
},
{
"message": "Choromo",
"id": "1414425102214456"
},
Das ist der Inhalt der Seite, den ich "line-by-line" abspeichern will (in eine Textdatei auf den Desktop). Das Problem ist, dass alles als 1 Line eingelesen wird, also alles nebeneinander steht:

Zitat:

{"data":[{"message":"L\u00fbck\u00fd","id":"1414421398881493"},{"message":"Bauchspeck1988","id":"1414421415548158"},{"message":"Dullitwin","id":"1414421428881490"},{
Hier der Code:
Java Code:

  1.  
  2. public String fbParse(String urlString) {
  3. try {
  4. url = new URL(urlString);
  5. is = url.openStream();
  6. file = new File(System.getProperty( "user.home" ) + File.separator + "Desktop/FacebookComments.txt");
  7.  
  8. System.out.println("Facebook-Comments-File is saved under your Desktop\\FacebookComments.txt");
  9. writer = new FileWriter(file ,false);
  10. writer.write(System.getProperty("line.separator"));
  11.  
  12. while ((line = br.readLine()) != null) {
  13. System.out.println(line);
  14. writer.write(line);
  15. writer.flush();
  16. }
  17. writer.close();
  18. } catch (MalformedURLException mue) {
  19. mue.printStackTrace();
  20. return "FAIL";
  21. } catch (IOException ioe) {
  22. ioe.printStackTrace();
  23. return "FAIL";
  24. } finally {
  25. try {
  26. if (is != null)
  27. is.close();
  28. } catch (IOException ioe) {
  29. // nothing to see here
  30. }
  31. }
  32.  
  33. return "OKAY";
  34. }



Also, ich schaffe es leider nicht, dass jede Zeile einzeln eingelesen und gespeichert wird. Vielleicht kann mir jemand dabei helfen :)


Eine weitere Frage hier:
Bei Facebook kommentiere die Leute auch mit Sonderzeichen (bsp: "Lûcký"). Das Programm kann damit umgehen, kein Problem, aber wenn ich mir die Kommetare abfrage, wird daraus "L\u00fbck\u00fd". Wie komme ich innherhalb des Programms von "L\u00fbck\u00fd" zurück zu "Lûcký"

Grüße


Quellcode einelsen "line by line" (und abspeichern in file (txt)

0 commentaires:

Enregistrer un commentaire