2017-04-12 1 views
-1

Ich habe eine Datei, die Tweets und seine ID zum Beispiel enthalten, wie eine Datei mit einem bestimmten Namen und einen bestimmten Text erstellen

1 what a nice day //1 is the ID and "what a nice day" is the tweet text 
2 how are you doing //2 is the ID and "how are you doing" is the tweet text 
. 
. 
. etc 

ich es mit der ID eine neue Datei für jede Zeile und Namen erstellen möchten und in dieser Datei ich den Tweet Text nehmen Sie die erste Zeile als Beispiel "1 what a nice day" der Dateiname sollte setzen wollen sein (1.txt) und innerhalb dieser Datei "what a nice day"

ich habe wirklich nicht eine Ahnung, wie dies zu tun, können Sie Bitte hilf mir?

+0

See [Lesen, Schreiben und Erstellen von Dateien] (https://docs.oracle.com/javase/tutorial/essential/ io/file.html) in den Java-Tutorials von Oracle. – Jesper

Antwort

0

Das wird Ihnen helfen, ich hoffe:

public static void readSplitWrite(String pathToFile){ 
    //To recognize how are your sentences : between 1 and 25 digit, then some spaces, and then what you want 
    Pattern patt = Pattern.compile("([0-9]{1,25})\\s*(.*)"); 
    try { 
     //Read over all the lines of your file 
     for(String line : Files.readAllLines(Paths.get(pathToFile),Charset.forName("UTF-8"))){ 
      //Catch the different parts of the string (group(0) is the hole sentence, group(1) is inside first(), group(2) is inside second() 
      Matcher m = patt.matcher(line); 
      if(m.find()){  
       //Open a file, in UTF-8 encoding (to be able to read Arabic character, as name the ID 
       Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(m.group(1)+".txt"), "UTF-8")); 
       try { 
        //write the content into 
        out.write(m.group(2)); 
       }catch (Exception e) { 
        e.printStackTrace(); 
       } finally { 
        out.close(); 
       } 
      } 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

public static void main(String[] args) { 
    //Just the name if the file is in the folder, if not write absolute path 
    String pathToFile = "Text.txt"; 
    readSplitWrite(pathToFile); 
} 

Dieser Code wird die Datei lesen und dann eine new File die Nummer für jede Zeile, mit wie Namen erstellen, und als Inhalt der Satz Wenn es irgendeinen Problem, sagen Sie mir, in Kommentar

Edit: ich kommentierte besser der Code, um Ihnen

+0

LOL eigentlich diese sind die ID des Tweets muss es gehalten werden, so kann ich es nicht ändern UTF-16BE zeigte keinen Fehler, aber es gibt keine Dateien erstellt – Qubayl

+0

So wie die IDs sind? weil auf deinem screenshot die 5 gleich sind ^^ – azro

+0

das sind einige von ihnen https://ibb.co/bHWdBQ – Qubayl

Verwandte Themen