Java, das eine Datei im Vmg-Format im EML-Format ausgibt

Schreiben Sie einfach in eine Datei zwischen dem Tag jeder Nachricht, um das EML-Format festzulegen. Einfache Sache. Auf der folgenden Seite erfahren Sie, wie es erstellt wurde. So rufen Sie Carrier-E-Mails vom Android-Smartphone ab

vmg enthält mehrere Nachrichtendaten, die von Tags umgeben sind. In Bezug auf Tags habe ich auf Folgendes verwiesen. Konvertieren Sie eine VMG-Datei mit PowerShell und lesen Sie sie mit Excel


import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.FileNotFoundException;

class vmg2Eml{
    public static void main(String args[]){
				String input_maildata_filename;
       if(args.length <= 0){
            System.out.println("Geben Sie den Dateinamen in die Befehlszeile ein");
						return;
        } else {
					input_maildata_filename = args[0];
        }
        try{
						int line_number = 0;
            File file = new File(input_maildata_filename);

						if (!file.exists()){
							System.out.println("Es gibt keine Datei");
							return;
						}

						FileInputStream FIS = new FileInputStream(file);
						BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(FIS,"UTF-8"));
						String data;
						String strBegin = "BEGIN:VBODY";
						String strEnd = "END:VBODY";
						Boolean Has2Write = false;
						int mail_number = 0;

						PrintWriter printwriter = null;
						FileOutputStream FOS2write = null;

						while ((data = bufferedReader.readLine()) != null) {
							int isBegin = data.indexOf(strBegin);
							int isEnd = data.indexOf(strEnd);
							
							if(isBegin != -1){
								Has2Write = true;
								data = bufferedReader.readLine();
								mail_number++;
								String filename2write = String.format("%05d",mail_number) + ".eml";
								File file2write = new File(filename2write);
								FOS2write = new FileOutputStream(file2write);
								printwriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(FOS2write,"UTF-8")));
							}

							if(isEnd != -1){
								Has2Write = false;
								printwriter.close();
							}

							if(printwriter != null && Has2Write){
								printwriter.println(data);
							}
						}

            bufferedReader.close();

        }catch(FileNotFoundException e){
            System.out.println(e);
        }catch(IOException e){
            System.out.println(e);
        }
    }
}

//System.out.println(data);

Recommended Posts

Java, das eine Datei im Vmg-Format im EML-Format ausgibt
Shift-Java-Programm, das das JIS-Format sofort im UTF-8-Format ausgibt
Formatieren Sie XML in Java
Eine Bat-Datei, die Java in Windows verwendet
Java-Versionsnotation, die sich in Java 10 ändert
Lesen Sie die Java-Eigenschaftendatei in C #
Entpacken Sie die Zip-Datei in Java
Protokollausgabe in Datei in Java
Informationen zur Dateikopierverarbeitung in Java
Versuchen Sie es mit der JSON-Format-API in Java
Ausgabedatum in Java im erweiterten ISO 8601-Format
Lesen Sie die xlsx-Datei in Java mit Selenium
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
Beispiel zum Entpacken einer gz-Datei in Java
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
[Java] Dateien in src / main / resources lesen
Allzweck-StringConverter-Klasse, die Generika in Java8 verwendet
Google Java-Format
Partisierung in Java
Änderungen in Java 11
Janken in Java
Erstellung von Java-Dateien
Umfangsrate in Java
FizzBuzz in Java
Schreiben einer Klasse, die in Java bestellt werden kann Ein kleines Standard-Memo
Fügen Sie das Bild mit der statischen Java-Methode in die JAR-Datei ein
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Dies und das zum Bearbeiten von ini in Java. : inieditor-java
[Java] Erläutert die ConcurrentModificationException, die in java.util.ArrayList für Neulinge auftritt
So konvertieren Sie eine Datei in ein Byte-Array in Java
Java11: Führen Sie Java-Code unverändert in einer einzelnen Datei aus
Zusammenfassung der Methoden zum Lesen von Dateien für jedes Java-Dateiformat
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
Eine Bibliothek, die mehrzeilige Zeichenfolgen in mehrzeiligen Java-Zeichenfolgen realisiert
Ein Programm (Java), das die Summe von ungeraden und geraden Zahlen in einem Array ausgibt