Package de.elo.mover.main.helper
Class FileHelper
java.lang.Object
de.elo.mover.main.helper.FileHelper
public class FileHelper
extends java.lang.Object
Überschrift: FileHelper.
Beschreibung: Hilfsmethoden für Dateioperationen.
Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2020
-
Constructor Summary
Constructors Constructor Description FileHelper()
-
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 im temporären JAVA-Verzeichnis.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 einen gültigen Namen für Elemente 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 "C:\temp\Testfiles\Test.txt" den Dateinamen ohne Dateiendung, im Beispiel also "Test".static java.io.File
getNextFile(java.io.File originalFile, int counter)
Liefert für die angegebene Datei eine neue Datei, deren Namen den angegebenen Zähler enthält.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.
-
Constructor Details
-
FileHelper
public FileHelper()
-
-
Method Details
-
getUniqueFile
public static java.io.File getUniqueFile(java.io.File dir, java.lang.String nameWithExt) throws java.lang.ExceptionSucht 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 sollnameWithExt
- 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.ExceptionErsetzt 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 ZeichenkettereplaceChar
- 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)Löscht Zeichen, die nicht in einem Dateinamen vorhanden sein dürfen.- Parameters:
input
- Ursprüngliche Zeichenkette- Returns:
- bereinigte Zeichenkette
-
getNextFile
public static java.io.File getNextFile(java.io.File originalFile, int counter) throws java.lang.ExceptionLiefert für die angegebene Datei eine neue Datei, deren Namen den angegebenen Zähler enthält.- Parameters:
originalFile
- Dateicounter
- Zähler- Returns:
- Neue Datei
- Throws:
java.lang.Exception
-
stripPath
public static java.lang.String stripPath(java.lang.String fileName) throws java.lang.ExceptionGibt 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.ExceptionGibt 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.ExceptionGibt 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.ExceptionGibt 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 DateindungnewExt
- 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 DateiendungnewExt
- 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.ExceptionTrue, falls die angegebene Datei die angegebene Dateiendung besitzt.- Parameters:
file
- DateifileExtension
- 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.ExceptionErzeugt eine ECD-Datei für den angegebenen Eintrag im temporären JAVA-Verzeichnis.- Parameters:
repositoryName
- Repository Bezeichnungsord
- 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.ExceptionErzeugt eine ECD-Datei für den angegebenen Eintrag im angegebenen Verzeichnis.- Parameters:
repositoryName
- Repository Bezeichnungsord
- Metadaten des EintragstargetDir
- Zielverzeichnis- 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.ExceptionErzeugt eine ECD-Datei für den angegebenen Workflow im angegebenen Verzeichnis. Die Navigation zum Workflow erfolgt über den ELO DMS Handler.- Parameters:
ixConnect
- Indexserver-VerbindungflowId
- Workflow-IDnodeId
- Workflowknoten-IDtargetDir
- 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.ExceptionLiefert eine ECD-Datei für die angegebenen Einträge zurück.- Parameters:
repositoryName
- Repository Bezeichnungsords
- Liste mit EinträgentargetDir
- 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.ExceptionErzeugt eine ECD-Datei für die angegebene Objekt-ID im angegebenen Zielverzeichnis.- Parameters:
ixConnect
- Indexserver-VerbindungobjId
- ID des EintragstargetDir
- Zielverzeichnis oder null für das temporäre Java Verzeichnis- 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.ExceptionLiefert einen gültigen Namen für Elemente zurück.- Parameters:
ixConnect
- Indexserver-VerbindungelemName
- 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.ExceptionLiefert 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-VerbindungfileName
- Dateinamen- Returns:
- Gültiger Dateiname
- Throws:
java.lang.Exception
-
getNameWithoutExtension
public static java.lang.String getNameWithoutExtension(java.lang.String filePath) throws java.lang.ExceptionLiefert zu einem kompletten Dateipfad wie "C:\temp\Testfiles\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.ExceptionLiefert eine falls notwendig abgekürzte Dateibezeichnung zurück.- Parameters:
ixConnect
- Indexserver-VerbindungattachFileName
- Dateiname- Returns:
- Bezeichnung der Dateianbindung
- Throws:
java.lang.Exception
-
getEswFile
public static java.io.File getEswFile(java.io.File file) throws java.lang.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert 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.ExceptionLiefert den Wert des angegebenen Schlüssels zurück.- Parameters:
iniFile
- INI-Dateikey
- 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.ExceptionLö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.ExceptionLö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.ExceptionLö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.ExceptionMeldet 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.ExceptionLiefert 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.ExceptionLiefert den übergeordneten Ordner mit dem angegebenen Namen zurück.- Parameters:
file
- DateiparentName
- Name des übergeordneten Ordners- Returns:
- Übergeordneten Ordner
- Throws:
java.lang.Exception
-