In Java häufig verwendete String- und MD5-Verschlüsselungs- und Entschlüsselungsklassen
Wir Java-Programmierer verwenden bei der Entwicklung von Projekten häufig einige Toolklassen. Heute werde ich zwei meiner Werkzeugklassen vorstellen, die Sie in Ihren Projekten verwenden können.
1. String-Tool-Klasse
Paket com.itjh.javaUtil;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * Hilfsklasse für dateibezogene Vorgänge. * * @author Song Lijun* @date 24. Juni 2014*/public class FileUtil {private static final String FOLDER_SEPARATOR = "/";private static final char EXTENSION_SEPARATOR = '.';/** * Funktion: Dateien oder Dateiordner kopieren . * * @author Song Lijun* @date 24. Juni 2014* @param inputFile * Quelldatei* @param outputFile * Zieldatei* @param isOverWrite * Ob überschrieben werden soll (nur für Dateien) * @throws IOException */public static void copy (Dateieingabedatei, Dateiausgabedatei, boolean isOverWrite) löst eine IOException aus {if (!inputFile.exists()) {throw new RuntimeException(inputFile.getPath() + "Das Quellverzeichnis existiert nicht!");}copyPri(inputFile, outputFile, isOverWrite);}/** * Funktion: Rekursive Verwendung für kopieren. * * @author Song Lijun* @date 24. Juni 2014* @param inputFile * @param outputFile * @param isOverWrite * @throws IOException */private static void copyPri(File inputFile, File outputFile,boolean isOverWrite) throws IOException {/ / ist eine Datei. if (inputFile.isFile()) {copySimpleFile(inputFile, outputFile, isOverWrite);} else {// Ordner if (!outputFile.exists()) {outputFile.mkdir();}// Schleife Unterordner für ( File child : inputFile.listFiles()) {copy(child,new File(outputFile.getPath() + "/" + child.getName()),isOverWrite);}}}/** * Funktion: eine einzelne Datei kopieren* * @author Song Lijun* @date 24. Juni 2014* @param inputFile * Quelldatei* @param outputFile * Zieldatei * @param isOverWrite * Ob Überschreiben zulässig ist * @throws IOException */private static void copySimpleFile(File inputFile, File OutputFile,boolean isOverWrite) löst eine IOException aus {//Die Zieldatei existiert bereits if (outputFile.exists()) {if (isOverWrite) {if (!outputFile.delete()) {throw new RuntimeException(outputFile.getPath() + " Überschreiben nicht möglich! ");}} else {// Überschreiben ist nicht zulässig return;}}InputStream in = new FileInputStream(inputFile);OutputStream out = new FileOutputStream(outputFile);byte[] buffer = new byte[1024];int read = 0;while ((read = in.read(buffer)) != -1) {out. write(buffer, 0, read);}in.close();out.close();}/** * Funktion: Dateien löschen* * @author Song Lijun* @date 24. Juni 2014* @param file * file*/public static void delete(File file) {deleteFile(file);}/** * Funktion: Datei löschen, interne rekursive Verwendung* * @author Song Lijun* @date 2014 Juni 24, 2016 * @param file * file * @return boolean true, wenn der Löschvorgang erfolgreich war, false, wenn der Löschvorgang fehlschlägt. */private static void deleteFile(File file) {if (file == null || !file.exists()) {return;}//Einzelne Datei if (!file.isDirectory()) {boolean delFlag = file.delete ();if (!delFlag) {throw new RuntimeException(file.getPath() + "Deletion failed!");} else {return;}}// Unterverzeichnis löschen für (File child : file.listFiles()) {deleteFile(child);}// Löschen Sie sich selbst file.delete();}/** * Extrahieren Sie die Dateierweiterung aus dem Dateipfad, zum Beispiel „mypath/myfile.txt“ -> „txt“. * @author Song Lijun* * @date 24. Juni 2014* @param file path* @return Wenn path null ist, direkt null zurückgeben. */public static String getFilenameExtension(String path) {if (path == null) {return null;}int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);if (extIndex == -1) {return null;}int FolderIndex = Path .lastIndexOf(FOLDER_SEPARATOR);if (folderIndex > extIndex) {return null;}return path.substring(extIndex + 1);}/** * Extrahieren Sie den Dateinamen aus dem Dateipfad, zum Beispiel: „meinpfad/meinedatei.txt“ -> „meinedatei.txt“. * @author Song Lijun* * @date 24. Juni 2014* @param path * Dateipfad. * @return Der extrahierte Dateiname. Wenn der Pfad null ist, wird null direkt zurückgegeben. */public static String getFilename(String path) {if (path == null) {return null;}int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);return (separatorIndex != -1 ? path.substring(separatorIndex + 1): path);}/** * Funktion: Datei speichern. * * @author Song Lijun* @date 24. Juni 2014* @param content * Bytes* @param file * Datei gespeichert unter * @throws IOException */public static void save(byte[] content, File file) throws IOException {if (file == null) {throw new RuntimeException("Die gespeicherte Datei darf nicht leer sein");} if (content == null) {throw new RuntimeException("Der Dateistream darf nicht leer sein");}InputStream is = new ByteArrayInputStream(content);save(is, file);}/** * Funktion: Datei speichern* * @author Song Lijun* @date 24. Juni , 2014 * @param streamIn * Dateistream * @param file * Datei gespeichert in * @throws IOException */public static void save(InputStream streamIn, File file) throws IOException {if (file == null) {throw new RuntimeException("Die gespeicherte Datei darf nicht leer sein");} if (streamIn == null) {throw new RuntimeException("Der Dateistream darf nicht leer sein");}/ /Output Stream OutputStream streamOut = null; //Den Ordner erstellen, falls er nicht existiert. if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}streamOut = new FileOutputStream(file);int bytesRead = 0;byte[] buffer = new byte[8192];while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {streamOut.write(buffer, 0, bytesRead);}streamOut.close();streamIn.close();}}
2. MD5-Tools
Paket com.itjh.javaUtil;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * Hilfsklasse für dateibezogene Vorgänge. * * @author Song Lijun* @date 24. Juni 2014*/public class FileUtil {private static final String FOLDER_SEPARATOR = "/";private static final char EXTENSION_SEPARATOR = '.';/** * Funktion: Dateien oder Dateiordner kopieren . * * @author Song Lijun* @date 24. Juni 2014* @param inputFile * Quelldatei* @param outputFile * Zieldatei* @param isOverWrite * Ob überschrieben werden soll (nur für Dateien) * @throws IOException */public static void copy (Dateieingabedatei, Dateiausgabedatei, boolean isOverWrite) löst eine IOException aus {if (!inputFile.exists()) {throw new RuntimeException(inputFile.getPath() + "Das Quellverzeichnis existiert nicht!");}copyPri(inputFile, outputFile, isOverWrite);}/** * Funktion: Rekursive Verwendung für kopieren. * * @author Song Lijun* @date 24. Juni 2014* @param inputFile * @param outputFile * @param isOverWrite * @throws IOException */private static void copyPri(File inputFile, File outputFile,boolean isOverWrite) throws IOException {/ / ist eine Datei. if (inputFile.isFile()) {copySimpleFile(inputFile, outputFile, isOverWrite);} else {// Ordner if (!outputFile.exists()) {outputFile.mkdir();}// Schleife Unterordner für ( File child : inputFile.listFiles()) {copy(child,new File(outputFile.getPath() + "/" + child.getName()),isOverWrite);}}}/** * Funktion: eine einzelne Datei kopieren* * @author Song Lijun* @date 24. Juni 2014* @param inputFile * Quelldatei* @param outputFile * Zieldatei * @param isOverWrite * Ob Überschreiben zulässig ist * @throws IOException */private static void copySimpleFile(File inputFile, File OutputFile,boolean isOverWrite) löst eine IOException aus {//Die Zieldatei existiert bereits if (outputFile.exists()) {if (isOverWrite) {if (!outputFile.delete()) {throw new RuntimeException(outputFile.getPath() + " Überschreiben nicht möglich! ");}} else {// Überschreiben ist nicht zulässig return;}}InputStream in = new FileInputStream(inputFile);OutputStream out = new FileOutputStream(outputFile);byte[] buffer = new byte[1024];int read = 0;while ((read = in.read(buffer)) != -1) {out. write(buffer, 0, read);}in.close();out.close();}/** * Funktion: Dateien löschen* * @author Song Lijun* @date 24. Juni 2014* @param file * file*/public static void delete(File file) {deleteFile(file);}/** * Funktion: Datei löschen, interne rekursive Verwendung* * @author Song Lijun* @date 2014 Juni 24, 2016 * @param file * file * @return boolean true, wenn der Löschvorgang erfolgreich war, false, wenn der Löschvorgang fehlschlägt. */private static void deleteFile(File file) {if (file == null || !file.exists()) {return;}//Einzelne Datei if (!file.isDirectory()) {boolean delFlag = file.delete ();if (!delFlag) {throw new RuntimeException(file.getPath() + "Deletion failed!");} else {return;}}// Unterverzeichnis löschen für (File child : file.listFiles()) {deleteFile(child);}// Löschen Sie sich selbst file.delete();}/** * Extrahieren Sie die Dateierweiterung aus dem Dateipfad, zum Beispiel „mypath/myfile.txt“ -> „txt“. * @author Song Lijun* * @date 24. Juni 2014* @param file path* @return Wenn path null ist, direkt null zurückgeben. */public static String getFilenameExtension(String path) {if (path == null) {return null;}int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);if (extIndex == -1) {return null;}int FolderIndex = Path .lastIndexOf(FOLDER_SEPARATOR);if (folderIndex > extIndex) {return null;}return path.substring(extIndex + 1);}/** * Extrahieren Sie den Dateinamen aus dem Dateipfad, zum Beispiel: „meinpfad/meinedatei.txt“ -> „meinedatei.txt“. * @author Song Lijun* * @date 24. Juni 2014* @param path * Dateipfad. * @return Der extrahierte Dateiname. Wenn der Pfad null ist, wird null direkt zurückgegeben. */public static String getFilename(String path) {if (path == null) {return null;}int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);return (separatorIndex != -1 ? path.substring(separatorIndex + 1): path);}/** * Funktion: Datei speichern. * * @author Song Lijun* @date 24. Juni 2014* @param content * Bytes* @param file * Datei gespeichert unter * @throws IOException */public static void save(byte[] content, File file) throws IOException {if (file == null) {throw new RuntimeException("Die gespeicherte Datei darf nicht leer sein");} if (content == null) {throw new RuntimeException("Der Dateistream darf nicht leer sein");}InputStream is = new ByteArrayInputStream(content);save(is, file);}/** * Funktion: Datei speichern* * @author Song Lijun* @date 24. Juni , 2014 * @param streamIn * Dateistream * @param file * Datei gespeichert in * @throws IOException */public static void save(InputStream streamIn, File file) throws IOException {if (file == null) {throw new RuntimeException("Die gespeicherte Datei darf nicht leer sein");} if (streamIn == null) {throw new RuntimeException("Der Dateistream darf nicht leer sein");}/ /Output Stream OutputStream streamOut = null; //Den Ordner erstellen, falls er nicht existiert. if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}streamOut = new FileOutputStream(file);int bytesRead = 0;byte[] buffer = new byte[8192];while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {streamOut.write(buffer, 0, bytesRead);}streamOut.close();streamIn.close();}}