Class Cmd

java.lang.Object
at.letto.tools.Cmd

public class Cmd extends Object
Funktionen für Dateiverarbeitung und Systemaufrufe
Author:
damboeck/mayt
  • Field Details

    • inkscape

      public static String inkscape
    • P_PfadFileExt

      private static Pattern P_PfadFileExt
    • P_FileExt

      private static Pattern P_FileExt
    • P_PfadFile

      private static Pattern P_PfadFile
  • Constructor Details

    • Cmd

      public Cmd()
  • Method Details

    • main

      public static void main(String[] a)
    • difference

      public static String difference(String str1, String str2)
    • indexOfDifference

      public static int indexOfDifference(String str1, String str2)
    • isEmpty

      public static boolean isEmpty(String s)
    • executeCommandLine

      public static int executeCommandLine(String commandLine, long timeout) throws IOException, InterruptedException, TimeoutException
      Führt einen Befehl in der Commandline aus
      Nach timeout bricht die Ausführung mit einer TimeoutException ab
      Parameters:
      commandLine - Befehl
      timeout - Maximale Laufzeit in Millisekunden
      Returns:
      Exitcode
      Throws:
      IOException - Fehler
      InterruptedException - Fehler
      TimeoutException - Fehler
    • systemcall

      public static String systemcall(String cmd, int timeout)
      Führt das Kommando cmd im Betriebssystem aus,
      Parameters:
      cmd - Kommando
      timeout - Zeit in ms nachdem das Programm sicher beendet wird!
      Returns:
      stdout des Programmes
    • systemcallbatch

      public static String systemcallbatch(String cmd, String path)
      Führt mehrere Kommandos als bash-Script aus
      Parameters:
      cmd - Ein oder mehrere Kommandos welche durch Zeilenvorschub getrennt vorliegen
      path - Verzeichnis in dem das Kommando als Bash-Script gespeichert und ausgeführt wird
      Returns:
      Ausgabe von Standard-Output-Kanal
    • systemcall

      public static String systemcall(String cmd)
      Führt das Kommando cmd im Betriebssystem aus, und wartet bis es wieder beendet wird!
      Parameters:
      cmd - Kommando
      Returns:
      stdout des Programmes
    • systemcall

      public static String systemcall(String cmd, String charset)
      Führt das Kommando cmd im Betriebssystem aus, und wartet bis es wieder beendet wird!
      Parameters:
      cmd - Kommando
      charset - Character-Set
      Returns:
      stdout des Programmes
    • systemcall

      public static String systemcall(String[] cmdlst)
      Führt das Kommando cmd im Betriebssystem aus, und wartet bis es wieder beendet wird!
      Parameters:
      cmdlst - String[] Kommandoliste von Befehl und Parametern
      Returns:
      stdout des Programmes
    • threadcall

      public static String threadcall(String cmd)
      Führt das Kommando cmd in einem parallel Thread im Betriebssystem aus, und wartet nicht bis das Commando fertig ist!
      Parameters:
      cmd - Kommando
      Returns:
      stdout des Programmes
    • threadcall

      public static String threadcall(String[] cmd)
    • GenerateFile

      public static boolean GenerateFile(String DateiName)
      Erzeugt eine leere Datei und alle Ordner im vollständigen Dateipfad
      Parameters:
      DateiName - Name der zu erstellenden Datei als vollständiger Pfad
      Returns:
      true wenn erfolgreich
    • GenerateFile

      public static boolean GenerateFile(String DateiName, byte[] outBytes)
      Erzeugt eine mit Daten (outBytes) gefüllte Datei und alle Ordner im Dateipfad
      Parameters:
      DateiName - Name der zu erstellenden Datei als vollständiger Pfad
      outBytes - Daten, die in Datei ausgegeben werden
      Returns:
      true wenn erfolgreich
    • LoadImage

      public static String LoadImage(String DateiName)
      Wandelt ein Image in einen Base64-Encoded String um dieser kann dann in MoodleXML gespeichert werden
      Parameters:
      DateiName - : Datei, die eingelesen werden soll
      Returns:
      : UEncoded String mit gewähltem Bildinhalt
    • LoadImageByte

      public static byte[] LoadImageByte(String DateiName)
      Lädt ein Image in ein byte-Array
      Parameters:
      DateiName - : Datei, die eingelesen werden soll
      Returns:
      : byte-Array mit Dateiinhalt
    • resizeImage

      public static BufferedImage resizeImage(BufferedImage originalImage, int type, Dimension d)
    • SaveImage

      public static void SaveImage(byte[] file, String StorePath)
      Speichert ein Image (byte-Array) an die angegebene Stelle
      Parameters:
      file - Image-Daten als yyte-Array
      StorePath - Dateiname als vollständiger Dateipfad
    • SaveImage

      public static void SaveImage(String UEncodedFile, String StorePath)
      Speichert ein UEncoded-Image an die angegebene Stelle
      Parameters:
      UEncodedFile - Image-Daten
      StorePath - Dateiname als vollständiger Dateipfad
    • readfile

      public static Vector<String> readfile(String filename)
      Liest die angegebene Datei ein und gibt sie als Zeichenkette zurück
      Parameters:
      filename - Dateiname
      Returns:
      Dateiinhalt als String
    • readfile

      public static Vector<String> readfile(File file)
      Liest die angegebene Datei ein und gibt sie als Zeichenkette zurück
      Jede Zeile wird als ein Vektorelement eingelesen und am Zeilenende wird der Zeilenvorschub entfernt!!
      Soll der gelesene Vektor wieder korrekt in die Datei geschrieben werden, so muss writelnfile(data,file) verwendet werden!!
      Parameters:
      file - Datei
      Returns:
      Dateiinhalt als String
    • readfileInString

      public static String readfileInString(File file)
      Liest die angegebene Datei ein und gibt sie als Zeichenkette zurück
      Jede Zeile wird als ein Vektorelement eingelesen und am Zeilenende wird der Zeilenvorschub entfernt!!
      Soll der gelesene Vektor wieder korrekt in die Datei geschrieben werden, so muss writelnfile(data,file) verwendet werden!!
      Parameters:
      file - Datei
      Returns:
      Dateiinhalt als String
    • readFile

      @Deprecated public static Vector<String> readFile(BufferedReader datei)
      Deprecated.
      Liest die angegebene Datei ein und gibt sie als Zeichenkette zurück
      Parameters:
      datei - Dateistream von dem gelesen werden soll
      Returns:
      Dateiinhalt als Vector von String
    • writefile

      public static boolean writefile(String inhalt, String filename)
      Erzeugt die Datei neu und schreibt den Inhalt in die angegebene Datei
      Parameters:
      inhalt - String für den Inhalt der Datei
      filename - Dateiname
      Returns:
      True wenn der Schreibvorgang erfolgreich war
    • writefile

      public static boolean writefile(String inhalt, File file)
      Erzeugt die Datei neu und schreibt den Inhalt in die angegebene Datei
      Parameters:
      inhalt - String für den Inhalt der Datei
      file - Datei
      Returns:
      True wenn der Schreibvorgang erfolgreich war
    • writefile

      public static boolean writefile(Vector<String> inhalt, String filename)
      Erzeugt die Datei neu und schreibt den Inhalt in die angegebene Datei
      Parameters:
      inhalt - Vector<String> für den Inhalt der Datei
      filename - Dateiname
      Returns:
      True wenn der Schreibvorgang erfolgreich war
    • writefile

      public static boolean writefile(Vector<String> inhalt, File file)
      Erzeugt die Datei neu und schreibt den Inhalt in die angegebene Datei
      Parameters:
      inhalt - Vector<String> für den Inhalt der Datei
      file - Datei
      Returns:
      True wenn der Schreibvorgang erfolgreich war
    • writelnfile

      public static boolean writelnfile(Vector<String> inhalt, File file)
      Erzeugt die Datei neu und schreibt den Inhalt in die angegebene Datei
      An jedes Vektorelement wird am Ende ein Zeilenvorschub angehängt
      Parameters:
      inhalt - Vector<String> für den Inhalt der Datei
      file - Datei
      Returns:
      True wenn der Schreibvorgang erfolgreich war
    • convertMoodleToXML

      public static boolean convertMoodleToXML(String source, String dest)
      konvertiert eine Standard Moodle XML Datei in eine gültige XML-Datei
      Parameters:
      source - Quelldatei
      dest - Zieldatei
      Returns:
      true wenn die Konvertierung erfolgreich war
    • convertMoodleToXML

      public static boolean convertMoodleToXML(String filename)
      konvertiert die angegebene Datei vom Moodle-XML-Format in eine gültige XML-Datei
      Parameters:
      filename - Dateiname
      Returns:
      true wenn die Konvertierung erfolgreich war
    • getFileTyp

      public static String getFileTyp(File file)
      Ermittelt die Extention eines Files
      Parameters:
      file - : Datei, von dem der Dateityp ermittelt werden soll
      Returns:
      Ermittelt die Extention eines Files ohne des Punktes
    • getFileTyp

      public static String getFileTyp(String fileName)
      Ermittelt die Extention eines Files vom Dateinamen
      Parameters:
      fileName - : Datei, von dem der Dateityp ermittelt werden soll
      Returns:
      ermittelte File-Extention eines Files ohne des Punktes
    • getFileDirectory

      public static String getFileDirectory(File file)
      Liefert den Pfad einer Datei
      Parameters:
      file - Datei die untersucht werden soll
      Returns:
      Pfad der Datei in der Form C:/opt/ mit normalem Schrägstrich als Trennzeichen inklusive einem vorhandenen abschließenden Schrägstrich
    • getFileName

      public static String getFileName(File file)
      Liefert den Dateinamen einer Datei
      Parameters:
      file - Datei die untersucht werden soll
      Returns:
      Dateiname ohne Pfad
    • getFileNameWithoutExtension

      public static String getFileNameWithoutExtension(File file)
      Liefert den Dateinamen einer Datei
      Parameters:
      file - Datei die untersucht werden soll zB.: c:/opt/abc.img
      Returns:
      Dateiname ohne Pfad und ohne Extension - abc
    • getFileExtension

      public static String getFileExtension(File file)
      Liefert die Extension einer Datei
      Parameters:
      file - Datei die untersucht werden soll zB.: c:/opt/abc.img
      Returns:
      Extension mit Punkt - .img
    • checkFileTyp

      public static boolean checkFileTyp(File file, String[] types)
      Prüft, ob der Dateityp von file in der übergebenen Liste vorkommt
      Parameters:
      file - : Datei, von dem der Dateityp verglichen werden soll
      types - : Liste der Typen
      Returns:
      : true, wenn Dateityp passt
    • saveTmpImg

      public static String[] saveTmpImg(LettoFile image, String imgVerz, int nr, int mode)
      Speichert das Bild im String image in eine temporäre Datei jpg,pdf oder png werden in eine Datei gespeichert svg und png wird in eine pdf-Datei konvertiert! andere Datentypen bleiben erhalten.
      Parameters:
      image - kodierte Datei
      imgVerz - Verzeichnis wo die Datei gespeichert werden soll
      nr - Nummer der Datei
      mode - 0..tex 1..gui
      Returns:
      [0] absoluter Dateipfad wo die Datei gespeichert wurde [1] absoluter Dateipfad der konvertierten Datei
    • saveTmpImgJpg

      public static String saveTmpImgJpg(String UEncodedFile, String imgVerz, int nr, int mode, String extension)
      Speichert das UEncoded-Image im String image in eine temporäre Datei als jpg-Datei.
      Parameters:
      UEncodedFile - Image-Daten
      imgVerz - Verzeichnis wo die Datei gespeichert werden soll
      nr - Nummer der Datei
      mode - 0..tex 1..gui
      extension - File-Extension
      Returns:
      absoluter Dateipfad wo die Datei gespeichert wurde
    • saveAsZip

      public File saveAsZip(Vector<File> files, File zipfile)
      Speichert alle Dateien des Vektors "files" in eine Zip-komprimierte Datei
      Parameters:
      files - Dateien die gespeichert werden
      zipfile - Ziel-zip-Datei
      Returns:
      Handle auf die Ziel-Zip-Datei oder null wenn etwas nicht funktioniert hat
    • svgtojpg

      public static String svgtojpg(String src)
      Wandelt eine svg-Datei in eine jpg-Datei um
      Parameters:
      src - Quelldatei
      Returns:
      Name der Zieldatei
    • svgtojpg

      public static String svgtojpg(String src, String dst)
      Wandelt eine svg-Datei in eine jpg-Datei um
      Parameters:
      src - Quelldatei
      dst - Zieldatei
      Returns:
      Name der Zieldatei
    • pngtojpg

      public static String pngtojpg(String src)
      Wandelt eine png-Datei in eine jpg-Datei um
      Parameters:
      src - Quelldatei
      Returns:
      Name der Zieldatei
    • pngtojpg

      public static String pngtojpg(String src, String dst)
      Wandelt eine png-Datei in eine jpg-Datei um
      Parameters:
      src - Quelldatei
      dst - Zieldatei
      Returns:
      Name der Zieldatei
    • pdftojpg

      public static String pdftojpg(String src)
      Wandelt die erste Seite einer pdf-Datei in eine jpg-Datei um
      Parameters:
      src - Quelldatei
      Returns:
      Name der Zieldatei
    • pdftojpg

      public static String pdftojpg(int pagenr, String src, String dst)
      Wandelt eine Seite einer PDF-Datei in eine jpg-Datei um
      Parameters:
      pagenr - Seitennummer, wenn größer als Seitenanzahl wird die letzte Seite konvertiert
      src - Quelldatei
      dst - Zieldatei
      Returns:
      Name der Zieldatei
    • convertPDFtoSVG

      public static String convertPDFtoSVG(String base64)
      Wandelt ein base64-kodiertes PDF in eine svg-Datei um Zum Wandeln wird inkscape verwendet!! Falls Inkscape nicht gefunden werden kann wird null retourniert!
      Parameters:
      base64 - base64 kodiertes PDF
      Returns:
      base64 kodiertes SVG
    • convertPDFtoSVG

      public static byte[] convertPDFtoSVG(byte[] file)
      Wandelt ein base64-kodiertes PDF in eine svg-Datei um Zum Wandeln wird inkscape verwendet!! Falls Inkscape nicht gefunden werden kann wird null retourniert!
      Parameters:
      file - PDF-Datei
      Returns:
      base64 kodiertes SVG
    • pdftojpgB64

      public static String pdftojpgB64(String bild, int pagenr)
      Wandelt ein base64-kodiertes PDF in eine jpg-Datei um
      Parameters:
      bild - base64 kodiertes PDF
      pagenr - Seitennummer
      Returns:
      base64 kodiertes JPG
    • svgtojpgB64

      public static String svgtojpgB64(String bild)
      Wandelt ein base64-kodiertes svg in eine jpg-Datei um
      Parameters:
      bild - base64 kodiertes SVG
      Returns:
      base64 kodiertes JPG
    • removeFile

      public static boolean removeFile(File f)
      löscht das Verzeichnis oder die Datei rekursiv inklusive aller Unterverzeichnisse
      Parameters:
      f - Datei
      Returns:
      true wenn die Datei gelöscht wurde oder nicht existiert hatte
    • findFiles

      public static void findFiles(String regexp, File pfad, Vector<File> files)
      Durchsucht das angegebene Verzeichnis rekursiv nach Dateien welche dem Regexp entsprechen
      Parameters:
      regexp - Regexp für das Suchen der Datein
      pfad - Startverzeichnis
      files - Liste aller gefundenen Dateien
    • copyFile

      public static boolean copyFile(String source, String dest)
      Kopieren einer Datei
      Parameters:
      source - Quelle
      dest - Ziel
      Returns:
      true wenn ok
    • renameFile

      public static String renameFile(String name)
      Entfernt aus einem Dateinamen alle Umlaute und Sonderzeichen.
      Es bleiben nur mehr Buchstaben, Zahlen, Minus und Unterstrich erhalten
      Parameters:
      name - alter Dateiname
      Returns:
      neuer Dateiname
    • renamePath

      public static String renamePath(String name)
      Entfernt aus einem Dateinamen alle Umlaute und Sonderzeichen.
      Es bleiben nur mehr Buchstaben, Zahlen, Minus,Unterstrich und die Pfadtrenner / \ erhalten
      Parameters:
      name - alter Pfadname
      Returns:
      neuer Pfadname
    • removeSonderzeichen

      public static String removeSonderzeichen(String Variable)
    • removeUmlaute

      public static String removeUmlaute(String Variable)
      Ersetzt alle Umlaute in normale Zeichen
      Parameters:
      Variable - : Text mit möglichen Umlauten
      Returns:
      Ersetzt alle Umlaute in normale Zeichen
    • removeUmlaute

      public static String removeUmlaute(String Variable, boolean removeUnderscore)
    • loadFileAsBase64

      public static String loadFileAsBase64(File file)