Kelas enkripsi dan dekripsi string dan MD5 yang umum digunakan di Java
Kami, pemrogram Java, sering menggunakan beberapa kelas alat saat mengembangkan proyek. Hari ini saya akan membagikan dua kelas alat saya yang dapat Anda gunakan dalam proyek Anda.
1. Kelas instrumen string
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;/** * Kelas tambahan untuk operasi terkait file. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014*/public class FileUtil {private static final String FOLDER_SEPARATOR = "/";private static final char EXTENSION_SEPARATOR = '.';/** * Fungsi : menyalin file atau folder file . * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * File sumber* @param outputFile * File tujuan* @param isOverWrite * Apakah akan menimpa (hanya untuk file) * @throws IOException */public static void copy (File inputFile, File outputFile, boolean isOverWrite) menampilkan IOException {if (!inputFile.exists()) {throw new RuntimeException(inputFile.getPath() + "Direktori sumber tidak ada!");}copyPri(inputFile, outputFile, isOverWrite);}/** * Fungsi: Penggunaan rekursif untuk menyalin. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * @param outputFile * @param isOverWrite * @throws IOException */private static void copyPri(File inputFile, File outputFile,boolean isOverWrite) melempar IOException {/ / adalah sebuah file. if (inputFile.isFile()) {copySimpleFile(inputFile, outputFile, isOverWrite);} else {// Folder if (!outputFile.exists()) {outputFile.mkdir();}// Ulangi subfolder untuk ( File child : inputFile.listFiles()) {copy(anak, File baru(outputFile.getPath() + "/" + child.getName()),isOverWrite);}}}/** * Fungsi: menyalin satu file* * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * file sumber* @param outputFile * file target * @param isOverWrite * Apakah penimpaan diperbolehkan * @throws IOException */private static void copySimpleFile(File inputFile, File outputFile,boolean isOverWrite) throws IOException {//File target sudah ada if (outputFile.exists()) {if (isOverWrite) {if (!outputFile.delete()) {throw new RuntimeException(outputFile.getPath() + " Tidak Dapat Menimpa! ");}} else {// Penimpaan tidak diperbolehkan return;}}InputStream di = baru FileInputStream(inputFile);OutputStream keluar = FileOutputStream baru(outputFile);byte[] buffer = byte baru[1024];int baca = 0;sementara ((baca = masuk.baca(buffer)) != -1) {keluar. write(buffer, 0, read);}in.close();out.close();}/** * Fungsi: menghapus file* * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param file * file*/public static void delete(File file) {deleteFile(file);}/** * Fungsi: menghapus file, penggunaan rekursif internal* * @author Song Lijun* @tanggal 2014 Juni 24, 2016 * @param file * file * @return boolean true jika penghapusan berhasil, false jika penghapusan gagal. */private static void deleteFile(File file) {if (file == null || !file.exists()) {return;}//Satu file if (!file.isDirectory()) {boolean delFlag = file.delete ();if (!delFlag) {throw new RuntimeException(file.getPath() + "Penghapusan gagal!");} else {return;}}// Hapus subdirektori untuk (File anak : file.listFiles()) {deleteFile(child);}// Hapus sendiri file.delete();}/** * Ekstrak ekstensi file dari jalur file, misalnya "mypath/myfile.txt" -> "txt". * @penulis Lagu Lijun* * @tanggal 24 Juni 2014* jalur file @param* @return Jika jalurnya nol, langsung kembalikan nol. */String statis publik getFilenameExtension(Jalur string) {if (jalur == null) {return null;}int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);if (extIndex == -1) {return null;}int folderIndex = jalur .lastIndexOf(FOLDER_SEPARATOR);if (folderIndex > extIndex) {return null;}return path.substring(extIndex + 1);}/** * Ekstrak nama file dari path file, misalnya: "mypath/myfile.txt" -> "myfile.txt". * @penulis Lagu Lijun* * @tanggal 24 Juni 2014* jalur @param * Jalur file. * @return Nama file yang diekstraksi. Jika jalurnya null, null akan langsung dikembalikan. */String statis publik getFilename(String path) {if (path == null) {return null;}int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);return (separatorIndex != -1 ? path.substring(separatorIndex + 1): path);}/** * Fungsi : Menyimpan file. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param konten * Byte* @param file * File disimpan ke * @throws IOException */public static void save(byte[] konten, File file) throws IOException {if (file == null) {throw new RuntimeException("File yang disimpan tidak boleh kosong");} if (content == null) {throw new RuntimeException("Aliran file tidak boleh kosong");}InputStream is = new ByteArrayInputStream(content);save(is, file);}/** * Fungsi: Simpan file* * @penulis Lagu Lijun* @tanggal 24 Juni , 2014 * @param streamIn * Aliran file * @param file * File disimpan ke * @throws IOException */public static void save(InputStream streamIn, File file) throws IOException {if (file == null) {throw new RuntimeException("File yang disimpan tidak boleh kosong");} if (streamIn == null) {throw new RuntimeException("Aliran file tidak boleh kosong");}/ /Output Stream OutputStream streamOut = null; //Buat folder jika tidak ada. if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}streamOut = new FileOutputStream(file);int bytesRead = 0;byte[] buffer = byte baru[8192];sementara ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {streamOut.write(buffer, 0, bytesRead);}streamOut.close();streamIn.close();}}
2. Alat MD5
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;/** * Kelas tambahan untuk operasi terkait file. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014*/public class FileUtil {private static final String FOLDER_SEPARATOR = "/";private static final char EXTENSION_SEPARATOR = '.';/** * Fungsi : menyalin file atau folder file . * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * File sumber* @param outputFile * File tujuan* @param isOverWrite * Apakah akan menimpa (hanya untuk file) * @throws IOException */public static void copy (File inputFile, File outputFile, boolean isOverWrite) menampilkan IOException {if (!inputFile.exists()) {throw new RuntimeException(inputFile.getPath() + "Direktori sumber tidak ada!");}copyPri(inputFile, outputFile, isOverWrite);}/** * Fungsi: Penggunaan rekursif untuk menyalin. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * @param outputFile * @param isOverWrite * @throws IOException */private static void copyPri(File inputFile, File outputFile,boolean isOverWrite) melempar IOException {/ / adalah sebuah file. if (inputFile.isFile()) {copySimpleFile(inputFile, outputFile, isOverWrite);} else {// Folder if (!outputFile.exists()) {outputFile.mkdir();}// Ulangi subfolder untuk ( File child : inputFile.listFiles()) {copy(anak, File baru(outputFile.getPath() + "/" + child.getName()),isOverWrite);}}}/** * Fungsi: menyalin satu file* * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param inputFile * file sumber* @param outputFile * file target * @param isOverWrite * Apakah penimpaan diperbolehkan * @throws IOException */private static void copySimpleFile(File inputFile, File outputFile,boolean isOverWrite) throws IOException {//File target sudah ada if (outputFile.exists()) {if (isOverWrite) {if (!outputFile.delete()) {throw new RuntimeException(outputFile.getPath() + " Tidak Dapat Menimpa! ");}} else {// Penimpaan tidak diperbolehkan return;}}InputStream di = baru FileInputStream(inputFile);OutputStream keluar = FileOutputStream baru(outputFile);byte[] buffer = byte baru[1024];int baca = 0;sementara ((baca = masuk.baca(buffer)) != -1) {keluar. write(buffer, 0, read);}in.close();out.close();}/** * Fungsi: menghapus file* * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param file * file*/public static void delete(File file) {deleteFile(file);}/** * Fungsi: menghapus file, penggunaan rekursif internal* * @author Song Lijun* @tanggal 2014 Juni 24, 2016 * @param file * file * @return boolean true jika penghapusan berhasil, false jika penghapusan gagal. */private static void deleteFile(File file) {if (file == null || !file.exists()) {return;}//Satu file if (!file.isDirectory()) {boolean delFlag = file.delete ();if (!delFlag) {throw new RuntimeException(file.getPath() + "Penghapusan gagal!");} else {return;}}// Hapus subdirektori untuk (File anak : file.listFiles()) {deleteFile(child);}// Hapus sendiri file.delete();}/** * Ekstrak ekstensi file dari jalur file, misalnya "mypath/myfile.txt" -> "txt". * @penulis Lagu Lijun* * @tanggal 24 Juni 2014* jalur file @param* @return Jika jalurnya nol, langsung kembalikan nol. */String statis publik getFilenameExtension(Jalur string) {if (jalur == null) {return null;}int extIndex = path.lastIndexOf(EXTENSION_SEPARATOR);if (extIndex == -1) {return null;}int folderIndex = jalur .lastIndexOf(FOLDER_SEPARATOR);if (folderIndex > extIndex) {return null;}return path.substring(extIndex + 1);}/** * Ekstrak nama file dari path file, misalnya: "mypath/myfile.txt" -> "myfile.txt". * @penulis Lagu Lijun* * @tanggal 24 Juni 2014* jalur @param * Jalur file. * @return Nama file yang diekstraksi. Jika jalurnya null, null akan langsung dikembalikan. */String statis publik getFilename(String path) {if (path == null) {return null;}int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);return (separatorIndex != -1 ? path.substring(separatorIndex + 1): path);}/** * Fungsi : Menyimpan file. * * @penulis Lagu Lijun* @tanggal 24 Juni 2014* @param konten * Byte* @param file * File disimpan ke * @throws IOException */public static void save(byte[] konten, File file) throws IOException {if (file == null) {throw new RuntimeException("File yang disimpan tidak boleh kosong");} if (content == null) {throw new RuntimeException("Aliran file tidak boleh kosong");}InputStream is = new ByteArrayInputStream(content);save(is, file);}/** * Fungsi: Simpan file* * @penulis Lagu Lijun* @tanggal 24 Juni , 2014 * @param streamIn * Aliran file * @param file * File disimpan ke * @throws IOException */public static void save(InputStream streamIn, File file) throws IOException {if (file == null) {throw new RuntimeException("File yang disimpan tidak boleh kosong");} if (streamIn == null) {throw new RuntimeException("Aliran file tidak boleh kosong");}/ /Output Stream OutputStream streamOut = null; //Buat folder jika tidak ada. if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}streamOut = new FileOutputStream(file);int bytesRead = 0;byte[] buffer = byte baru[8192];sementara ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {streamOut.write(buffer, 0, bytesRead);}streamOut.close();streamIn.close();}}