Class ELOAsFileUtils

java.lang.Object
de.elo.mover.utils.ELOAsFileUtils

public class ELOAsFileUtils
extends java.lang.Object

Überschrift: ELOAsFileUtils.

Beschreibung: Hilfsmethoden für Dateioperationen.

Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2020

  • Constructor Summary

    Constructors
    Constructor Description
    ELOAsFileUtils()  
  • Method Summary

    Modifier and Type Method Description
    static void addIllegalChar​(char c)
    Fügt das angegebene ungültige Zeichen in der internen Liste mit den ungültigen Zeichen ein.
    static java.io.File changeExt​(java.io.File file, java.lang.String newExt)
    Ändert die Extension einer Datei auf eine neue Extension um.
    static java.lang.String changeExt​(java.lang.String fileName, java.lang.String newExt)
    Ändert die Extension einer Datei auf eine neue Extension um.
    static java.io.File createEcdFile​(IXconnect ixConnect, int objId, java.io.File targetDir)
    Erzeugt eine ECD-Datei für die angegebene Objekt-ID im angegebenen Zielverzeichnis.
    static java.io.File createEcdFile​(java.lang.String repositoryName, de.elo.ix.client.Sord sord)
    Erzeugt eine ECD-Datei für den angegebenen Eintrag.
    static java.io.File createEcdFile​(java.lang.String repositoryName, de.elo.ix.client.Sord sord, java.io.File targetDir)
    Erzeugt eine ECD-Datei für den angegebenen Eintrag im angegebenen Verzeichnis.
    static java.io.File createEcdFileForEntries​(java.lang.String repositoryName, de.elo.ix.client.Sord[] sords, java.io.File targetDir)
    Liefert eine ECD-Datei für die angegebenen Einträge zurück.
    static java.io.File createEcdFileForWorkflow​(IXconnect ixConnect, int flowId, int nodeId, java.io.File targetDir)
    Erzeugt eine ECD-Datei für den angegebenen Workflow im angegebenen Verzeichnis.
    static boolean deleteDirectoryFiles​(java.io.File directory)
    Löscht die vorhandenen Elemente im angegebenen Verzeichnis und meldet zurück, ob alle Elemente gelöscht wurden.
    static void deleteFiles​(java.util.List<java.io.File> files)
    Löscht die angegebenen Dateien.
    static java.lang.String deleteIllegalChars​(java.lang.String input)
    Löscht Zeichen, die nicht in einem Dateinamen vorhanden sein dürfen.
    static boolean deleteTempFileAndFolder​(java.io.File tempFile)
    Löscht die angegebene temporäre Datei mit dem übergeordneten Ordner.
    static java.io.File getEswFile​(java.io.File file)
    Liefert die es8-Datei für die angegebene Datei zurück.
    static java.io.File getEtfFile​(java.io.File file)
    Liefert die ETF-Datei zu der angegebenen Datei zurück.
    static java.io.File getEwfFile​(java.io.File file)
    Liefert die ewf-Datei zur angegebenen Datei zurück.
    static java.lang.String getExt​(java.io.File file)
    Gibt die Extension eines Dateinamens ohne führenden Punkt zurück.
    static java.lang.String getExt​(java.lang.String fileName)
    Gibt die Extension eines Dateinamens ohne führenden Punkt zurück.
    static java.util.HashMap<java.lang.String,​java.lang.String> getFileContentMap​(java.io.File file)
    Liefert eine HashMap mit dem Dateiinhalt zurück.
    static java.util.ArrayList<java.lang.String> getFileLines​(java.io.File file)
    Liefert eine Liste mit den Zeilen der angegebenen Datei zurück.
    static java.io.File getIndexFile​(java.io.File file)
    Liefert die Index-Datei für die angegebene Datei zurück.
    static java.lang.String getLegalArchiveElementName​(IXconnect ixConnect, java.lang.String elemName)
    Liefert eine gültige Bezeichnung für den angegebenen Eintrag zurück.
    static java.lang.String getLegalAttachmentFileName​(IXconnect ixConnect, java.lang.String attachFileName)
    Liefert eine falls notwendig abgekürzte Dateibezeichnung zurück.
    static java.lang.String getLegalFileName​(IXconnect ixConnect, java.lang.String fileName)
    Liefert einen gültigen Dateinamen aus dem übergebenen Dateinamen zurück.
    static java.io.File getLockFile​(java.io.File file)
    Liefert die lock-Datei zur angegebenen Datei zurück.
    static java.lang.String getNameWithoutExtension​(java.lang.String filePath)
    Liefert zu einem kompletten Dateipfad wie "D:\Beispiele\Test.txt" den Dateinamen ohne Dateiendung, im Beispiel also "Test".
    static java.io.File getParentFolderByName​(java.io.File file, java.lang.String parentName)
    Liefert den übergeordneten Ordner mit dem angegebenen Namen zurück.
    static java.lang.String getPath​(java.lang.String fileName)
    Gibt den Pfadanteil eines kompletten Dateinamens zurück.
    static java.lang.String getReadableFilesize​(java.io.File file)
    Liefert die Dateigröße als einen gut für Menschen lesbaren String zurück.
    static java.util.ArrayList<java.io.File> getRootFiles()
    Liefert eine Liste mit den Hauptverzeichnissen auf dem System zurück.
    static java.io.File getTempDir()
    Liefert das temporäre Java Verzeichnis zurück.
    static java.io.File getUniqueFile​(java.io.File dir, java.lang.String nameWithExt)
    Sucht im Zielverzeichnis nach einem unbenutzten Dateinamen nach einer Namensvorgabe.
    static java.lang.String getValue​(java.io.File iniFile, java.lang.String key)
    Liefert den Wert des angegebenen Schlüssels zurück.
    static boolean hasExtension​(java.io.File file, java.lang.String fileExtension)
    True, falls die angegebene Datei die angegebene Dateiendung besitzt.
    static boolean hasFullAccess​(java.io.File file)
    Meldet zurück, ob auf die angegebene Datei normal zugegriffen werden kann.
    static java.lang.String replaceIllegalChars​(java.lang.String input, char replaceChar)
    Ersetzt die Zeichen, die nicht in einem Dateinamen vorhanden sein dürfen, durch das angegebene Zeichen.
    static java.lang.String stripPath​(java.lang.String fileName)
    Gibt den Dateinamen ohne den Pfad zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ELOAsFileUtils

      public ELOAsFileUtils()
  • Method Details

    • getUniqueFile

      public static java.io.File getUniqueFile​(java.io.File dir, java.lang.String nameWithExt) throws java.lang.Exception
      Sucht im Zielverzeichnis nach einem unbenutzten Dateinamen nach einer Namensvorgabe. Falls die Namensvorgabe noch nicht vorhanden ist, wird sie direkt verwendet. Wenn sie vorhanden ist, dann wird sie um einen Zähler ergänzt. Nicht erlaubte Zeichen im Namen werden durch einen Unterstrich ersetzt.
      Parameters:
      dir - Verzeichnis in dem die Datei erstellt werden soll
      nameWithExt - Name der Datei ohne den Dateipfad
      Returns:
      eindeutige Datei
      Throws:
      java.lang.Exception
    • replaceIllegalChars

      public static java.lang.String replaceIllegalChars​(java.lang.String input, char replaceChar) throws java.lang.Exception
      Ersetzt die Zeichen, die nicht in einem Dateinamen vorhanden sein dürfen, durch das angegebene Zeichen. Bei der Angabe von '0' wird der Unterstrich als Ersatzzeichen verwendet.
      Parameters:
      input - Ursprüngliche Zeichenkette
      replaceChar - Zeichen, durch das die ungültigen Zeichen ersetzt werden
      Returns:
      bereinigte Zeichenkette
      Throws:
      java.lang.Exception
    • deleteIllegalChars

      public static java.lang.String deleteIllegalChars​(java.lang.String input) throws java.lang.Exception
      Löscht Zeichen, die nicht in einem Dateinamen vorhanden sein dürfen.
      Parameters:
      input - Ursprüngliche Zeichenkette
      Returns:
      bereinigte Zeichenkette
      Throws:
      java.lang.Exception
    • stripPath

      public static java.lang.String stripPath​(java.lang.String fileName) throws java.lang.Exception
      Gibt den Dateinamen ohne den Pfad zurück. Wenn kein Pfad-Separator vorhanden ist, dann wird der ganze Ausdruck als Dateiname angesehen (und nicht als Pfad ohne Dateiname).
      Parameters:
      fileName - Kompletter Dateipfad
      Returns:
      Dateiname ohne Pfad
      Throws:
      java.lang.Exception
    • getPath

      public static java.lang.String getPath​(java.lang.String fileName) throws java.lang.Exception
      Gibt den Pfadanteil eines kompletten Dateinamens zurück. Wenn kein Pfad-Separator vorhanden ist, dann wird der komplette Ausdruck als Pfad angesehen.
      Parameters:
      fileName - Kompletter Dateipfad
      Returns:
      Dateipfad
      Throws:
      java.lang.Exception
    • getExt

      public static java.lang.String getExt​(java.io.File file) throws java.lang.Exception
      Gibt die Extension eines Dateinamens ohne führenden Punkt zurück. Wenn keine Extension vorhanden ist, dann wird ein Leerstring und keine Null geliefert. Wenn der Dateiname null ist, dann wird eine null zurückgegeben.
      Parameters:
      file - Datei
      Returns:
      Dateiendung ohne führenden Punkt
      Throws:
      java.lang.Exception
    • getExt

      public static java.lang.String getExt​(java.lang.String fileName) throws java.lang.Exception
      Gibt die Extension eines Dateinamens ohne führenden Punkt zurück. Wenn keine Extension vorhanden ist, dann wird ein Leerstring und keine Null geliefert. Wenn der Dateiname null ist, dann wird eine null zurückgegeben.
      Parameters:
      fileName - Dateiname
      Returns:
      String Dateiendung ohne führenden Punkt
      Throws:
      java.lang.Exception
    • changeExt

      public static java.io.File changeExt​(java.io.File file, java.lang.String newExt) throws java.lang.Exception
      Ändert die Extension einer Datei auf eine neue Extension um. Falls die Datei noch keine Extension hatte, wird die neue einfach angefügt.
      Parameters:
      file - Originaldatei mit oder ohne Dateindung
      newExt - Neue Dateiendung, mit oder ohne führenden Punkt
      Returns:
      Neue Datei mit der neuen Dateiendung
      Throws:
      java.lang.Exception
    • changeExt

      public static java.lang.String changeExt​(java.lang.String fileName, java.lang.String newExt) throws java.lang.Exception
      Ändert die Extension einer Datei auf eine neue Extension um. Falls die Datei noch keine Extension hatte, wird die neue einfach angefügt.
      Parameters:
      fileName - Originalname mit oder ohne Dateiendung
      newExt - Neue Dateiendung, mit oder ohne führenden Punkt
      Returns:
      Neuer Name mit der neuen Dateiendung
      Throws:
      java.lang.Exception
    • hasExtension

      public static boolean hasExtension​(java.io.File file, java.lang.String fileExtension) throws java.lang.Exception
      True, falls die angegebene Datei die angegebene Dateiendung besitzt.
      Parameters:
      file - Datei
      fileExtension - Dateiendung
      Returns:
      Datei besitzt die Dateiendung
      Throws:
      java.lang.Exception
    • createEcdFile

      public static java.io.File createEcdFile​(java.lang.String repositoryName, de.elo.ix.client.Sord sord) throws java.lang.Exception
      Erzeugt eine ECD-Datei für den angegebenen Eintrag.
      Parameters:
      repositoryName - Repository Bezeichnung
      sord - Metadaten des Eintrags
      Returns:
      ECD-Datei
      Throws:
      java.lang.Exception
    • createEcdFile

      public static java.io.File createEcdFile​(java.lang.String repositoryName, de.elo.ix.client.Sord sord, java.io.File targetDir) throws java.lang.Exception
      Erzeugt eine ECD-Datei für den angegebenen Eintrag im angegebenen Verzeichnis.
      Parameters:
      repositoryName - Repository Bezeichnung
      sord - Metadaten des Eintrags
      targetDir - Zielverzeichnis
      Returns:
      ECD-Datei
      Throws:
      java.lang.Exception
    • createEcdFile

      public static java.io.File createEcdFile​(IXconnect ixConnect, int objId, java.io.File targetDir) throws java.lang.Exception
      Erzeugt eine ECD-Datei für die angegebene Objekt-ID im angegebenen Zielverzeichnis.
      Parameters:
      ixConnect - Indexserver-Verbindung
      objId - ID des Eintrags
      targetDir - Zielverzeichnis oder null für das temporäre Java Verzeichnis
      Returns:
      ECD-Datei
      Throws:
      java.lang.Exception
    • createEcdFileForWorkflow

      public static java.io.File createEcdFileForWorkflow​(IXconnect ixConnect, int flowId, int nodeId, java.io.File targetDir) throws java.lang.Exception
      Erzeugt eine ECD-Datei für den angegebenen Workflow im angegebenen Verzeichnis. Die Navigation zum Workflow erfolgt über den ELO DMS Handler.
      Parameters:
      ixConnect - Indexserver-Verbindung
      flowId - Workflow-ID
      nodeId - Workflowknoten-ID
      targetDir - Zielverzeichnis
      Returns:
      ECD-Datei
      Throws:
      java.lang.Exception
    • createEcdFileForEntries

      public static java.io.File createEcdFileForEntries​(java.lang.String repositoryName, de.elo.ix.client.Sord[] sords, java.io.File targetDir) throws java.lang.Exception
      Liefert eine ECD-Datei für die angegebenen Einträge zurück.
      Parameters:
      repositoryName - Repository Bezeichnung
      sords - Liste mit Einträgen
      targetDir - Zielverzeichnis
      Returns:
      ECD-Datei
      Throws:
      java.lang.Exception
    • getLegalArchiveElementName

      public static java.lang.String getLegalArchiveElementName​(IXconnect ixConnect, java.lang.String elemName) throws byps.RemoteException, java.lang.Exception
      Liefert eine gültige Bezeichnung für den angegebenen Eintrag zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      elemName - Bezeichnung des Elements
      Returns:
      Bezeichnung ohne die ungültigen Zeichen
      Throws:
      byps.RemoteException
      java.lang.Exception
    • getLegalFileName

      public static java.lang.String getLegalFileName​(IXconnect ixConnect, java.lang.String fileName) throws java.lang.Exception
      Liefert einen gültigen Dateinamen aus dem übergebenen Dateinamen zurück. Wenn der Dateiname länger als die maximal erlaubte Länge ist dann wird der Name abgeschnitten.
      Parameters:
      ixConnect - Indexserver-Verbindung
      fileName - Dateinamen
      Returns:
      Gültiger Dateiname
      Throws:
      java.lang.Exception
    • getNameWithoutExtension

      public static java.lang.String getNameWithoutExtension​(java.lang.String filePath) throws java.lang.Exception
      Liefert zu einem kompletten Dateipfad wie "D:\Beispiele\Test.txt" den Dateinamen ohne Dateiendung, im Beispiel also "Test".
      Parameters:
      filePath - Kompletter Dateipfad
      Returns:
      Dateiname ohne Endung
      Throws:
      java.lang.Exception
    • getLegalAttachmentFileName

      public static java.lang.String getLegalAttachmentFileName​(IXconnect ixConnect, java.lang.String attachFileName) throws java.lang.Exception
      Liefert eine falls notwendig abgekürzte Dateibezeichnung zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      attachFileName - Dateiname
      Returns:
      Bezeichnung der Dateianbindung
      Throws:
      java.lang.Exception
    • getEswFile

      public static java.io.File getEswFile​(java.io.File file) throws java.lang.Exception
      Liefert die es8-Datei für die angegebene Datei zurück.
      Parameters:
      file - Datei
      Returns:
      es8-Datei
      Throws:
      java.lang.Exception
    • getIndexFile

      public static java.io.File getIndexFile​(java.io.File file) throws java.lang.Exception
      Liefert die Index-Datei für die angegebene Datei zurück.
      Parameters:
      file - Dokumentendatei
      Returns:
      Indexdatei
      Throws:
      java.lang.Exception
    • getEtfFile

      public static java.io.File getEtfFile​(java.io.File file) throws java.lang.Exception
      Liefert die ETF-Datei zu der angegebenen Datei zurück.
      Parameters:
      file - Datei
      Returns:
      File ETF-Datei
      Throws:
      java.lang.Exception
    • getEwfFile

      public static java.io.File getEwfFile​(java.io.File file) throws java.lang.Exception
      Liefert die ewf-Datei zur angegebenen Datei zurück.
      Parameters:
      file - normale Datei
      Returns:
      File ewf-Datei
      Throws:
      java.lang.Exception
    • getLockFile

      public static java.io.File getLockFile​(java.io.File file) throws java.lang.Exception
      Liefert die lock-Datei zur angegebenen Datei zurück.
      Parameters:
      file - normale Datei
      Returns:
      lock-Datei
      Throws:
      java.lang.Exception
    • getTempDir

      public static java.io.File getTempDir()
      Liefert das temporäre Java Verzeichnis zurück.
      Returns:
      Temporäres Java Verzeichnis
    • getFileContentMap

      public static java.util.HashMap<java.lang.String,​java.lang.String> getFileContentMap​(java.io.File file) throws java.lang.Exception
      Liefert eine HashMap mit dem Dateiinhalt zurück.
      Parameters:
      file - Datei mit den Textbegriffen (z.B. ini-Datei)
      Returns:
      HashMap mit dem Dateiinhalt
      Throws:
      java.lang.Exception
    • getFileLines

      public static java.util.ArrayList<java.lang.String> getFileLines​(java.io.File file) throws java.lang.Exception
      Liefert eine Liste mit den Zeilen der angegebenen Datei zurück. Die Datei soll in UTF-8 Format vorliegen und kann mit einem BOM anfangen. Leere Zeilen und Kommentarzeilen werden ignoriert.
      Parameters:
      file - Zu lesende Datei
      Returns:
      Liste mit den Zeilen der Datei
      Throws:
      java.lang.Exception
    • getValue

      public static java.lang.String getValue​(java.io.File iniFile, java.lang.String key) throws java.lang.Exception
      Liefert den Wert des angegebenen Schlüssels zurück.
      Parameters:
      iniFile - INI-Datei
      key - Schlüssel
      Returns:
      Wert oder null
      Throws:
      java.lang.Exception
    • deleteFiles

      public static void deleteFiles​(java.util.List<java.io.File> files) throws java.lang.Exception
      Löscht die angegebenen Dateien.
      Parameters:
      files - Liste mit Dateien
      Throws:
      java.lang.Exception
    • deleteDirectoryFiles

      public static boolean deleteDirectoryFiles​(java.io.File directory) throws java.lang.Exception
      Löscht die vorhandenen Elemente im angegebenen Verzeichnis und meldet zurück, ob alle Elemente gelöscht wurden.
      Parameters:
      directory - Verzeichnis
      Returns:
      alle Unterelemente wurden gelöscht
      Throws:
      java.lang.Exception
    • deleteTempFileAndFolder

      public static boolean deleteTempFileAndFolder​(java.io.File tempFile) throws java.lang.Exception
      Löscht die angegebene temporäre Datei mit dem übergeordneten Ordner.
      Parameters:
      tempFile - temporäre Datei
      Returns:
      Beide Dateien wurden gelöscht
      Throws:
      java.lang.Exception
    • getRootFiles

      public static java.util.ArrayList<java.io.File> getRootFiles()
      Liefert eine Liste mit den Hauptverzeichnissen auf dem System zurück.
      Returns:
      Liste mit Hauptverzeichnissen
    • hasFullAccess

      public static boolean hasFullAccess​(java.io.File file) throws java.lang.Exception
      Meldet zurück, ob auf die angegebene Datei normal zugegriffen werden kann.
      Parameters:
      file - Datei
      Returns:
      Datei kann verwendet werden
      Throws:
      java.lang.Exception
    • getReadableFilesize

      public static java.lang.String getReadableFilesize​(java.io.File file) throws java.lang.Exception
      Liefert die Dateigröße als einen gut für Menschen lesbaren String zurück.
      Parameters:
      file - Datei
      Returns:
      Dateigröße
      Throws:
      java.lang.Exception
    • addIllegalChar

      public static void addIllegalChar​(char c)
      Fügt das angegebene ungültige Zeichen in der internen Liste mit den ungültigen Zeichen ein.
      Parameters:
      c - ungültiges Zeichen
    • getParentFolderByName

      public static java.io.File getParentFolderByName​(java.io.File file, java.lang.String parentName) throws java.lang.Exception
      Liefert den übergeordneten Ordner mit dem angegebenen Namen zurück.
      Parameters:
      file - Datei
      parentName - Name des übergeordneten Ordners
      Returns:
      Übergeordneten Ordner
      Throws:
      java.lang.Exception