文件字符串互转(将SSLCERT转为字符串导入数据库)
1、需求:
具体需求不阐述,需要完成以下步骤
SSL 证书文件 ——> postgresql数据库——> SSL 证书文件
2、java代码实现文件字符串互转
源文件示例:
File2String代码
package com.esoon.capital.test; import org.apache.commons.codec.binary.Base64; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class File2String { public static void main(String[] args) { String filePath = "F:\\javatest\\test.key"; String str = file2String(filePath); System.out.println("文件转字符串结果:start"); System.out.println(str); System.out.println("文件转字符串结果:end"); } public static String file2String(String path) { // TODO Auto-generated method stub File file = new File(path); FileInputStream fis = null; StringBuffer content = new StringBuffer(); try { fis = new FileInputStream(file); int length = 2 * 1024 * 1024; byte[] byteAttr = new byte[length]; int byteLength = -1; while ((byteLength = fis.read(byteAttr, 0, byteAttr.length)) != -1) { String encode = ""; if (byteLength != byteAttr.length) { byte[] temp = new byte[byteLength]; System.arraycopy(byteAttr, 0, temp, 0, byteLength); //使用BASE64转译 Base64 base64 = new Base64(); encode = base64.encodeToString(temp); //encode = new BASE64Encoder().encode(temp); content.append(encode); } else { Base64 base64 = new Base64(); encode = base64.encodeToString(byteAttr); //encode = new BASE64Encoder().encode(byteAttr); content.append(encode); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return content.toString(); } }
运行结果,可以看到正常转换为string:
String2File代码
package com.esoon.capital.test; import org.apache.commons.codec.binary.Base64; import java.io.*; public class String2File { public static void main(String[] args) { String string = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlHa0RDQ0JYaWdBd0lCQWdJUUQ2Njg2d3lrOFg3M2N1cGhpWXcrZ0RBTkJna3Foa2lHOXcwQkFRc0ZBREJlDQpNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzDQpkM2N1WkdsbmFXTmxjblF1WTI5dE1SMHdHd1lEVlFRREV4UkhaVzlVY25WemRDQlNVMEVnUTBFZ01qQXhPREFlDQpGdzB4T1RBek1UZ3dNREF3TURCYUZ3MHlNVEEwTVRZeE1qQXdNREJhTUgweEN6QUpCZ05WQkFZVEFrTk9NUkl3DQpFQVlEVlFRSERBbmt1SXJtdGJmbHVJSXhOakEwQmdOVkJBb01MZVM0aXVhMXQrYVdoK1dNbHVTNnArYWRnK1M2DQpwT2FZaythSmdPaUNvZVM3dmVhY2llbVprT1dGck9XUHVERUxNQWtHQTFVRUN4TUNTVlF4RlRBVEJnTlZCQU1NDQpEQ291YzJoallXVmxMbU52YlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTzNZDQorT1JOcXNoVHlBZ1hSZnIzN2doVjFDYlJFVUdZeFliZGVuU0xweGd5cENwaC9GcnVHbmVHd3kva1NJT3Z6M1JXDQpnOEpGYkNzZHZDS3lTYzhWU0NNWUxnM0Q5ZEREYnJNYVcvRVdpUnNDaTZjK1kxY2NvckNhcGVHV29zV244RlMwDQo5Q0VoaWE0ME44cldtTWdsY0VJUFhQTSthL1A5dTlBa3FEdnpGejVhcjhxaDdSYjM1QmhNWE9abGdodFltY2dFDQpSL1ZQdy80cmd4TysyNlNvR2ZPYUliVlI1UkEvSTVDWmp2dDdyN2lqQkxWL1hlYlA4V2VSUE50ME5qbDNxYVByDQp1L2hsK1RaU3FjUzNXT3BIOE5KR2l5RFQvcE5TbTQ2UXI5eFhPeEFDVytMeGphOUJPWVFhV0Fxd1dxZS9BeUo1DQphZ1JBU3EybzMyZkZRQ0xueS84Q0F3RUFBYU9DQXlrd2dnTWxNQjhHQTFVZEl3UVlNQmFBRkpCWS83Q2NkYWhSDQpWSGV4N2ZLalF4WTRubXpGTUIwR0ExVWREZ1FXQkJTWFhzTHBYTGM2ckEvK2tkaFZVMmozUmNWVU16QWpCZ05WDQpIUkVFSERBYWdnd3FMbk5vWTJGbFpTNWpiMjJDQ25Ob1kyRmxaUzVqYjIwd0RnWURWUjBQQVFIL0JBUURBZ1dnDQpNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNEQWpBK0JnTlZIUjhFTnpBMU1ET2dNYUF2DQpoaTFvZEhSd09pOHZZMlJ3TG1kbGIzUnlkWE4wTG1OdmJTOUhaVzlVY25WemRGSlRRVU5CTWpBeE9DNWpjbXd3DQpUQVlEVlIwZ0JFVXdRekEzQmdsZ2hrZ0JodjFzQVFFd0tqQW9CZ2dyQmdFRkJRY0NBUlljYUhSMGNITTZMeTkzDQpkM2N1WkdsbmFXTmxjblF1WTI5dEwwTlFVekFJQmdabmdRd0JBZ0l3ZFFZSUt3WUJCUVVIQVFFRWFUQm5NQ1lHDQpDQ3NHQVFVRkJ6QUJoaHBvZEhSd09pOHZjM1JoZEhWekxtZGxiM1J5ZFhOMExtTnZiVEE5QmdnckJnRUZCUWN3DQpBb1l4YUhSMGNEb3ZMMk5oWTJWeWRITXVaMlZ2ZEhKMWMzUXVZMjl0TDBkbGIxUnlkWE4wVWxOQlEwRXlNREU0DQpMbU55ZERBSkJnTlZIUk1FQWpBQU1JSUJmUVlLS3dZQkJBSFdlUUlFQWdTQ0FXMEVnZ0ZwQVdjQWR3QzcyZCs4DQpINHB4dFpPVUk1ZXFrbnRIT0ZlVkNxdFM2QnFRbG1RMmpoN1JoUUFBQVdtUHJNTklBQUFFQXdCSU1FWUNJUUNvDQpvZWZCMEZOZzE2Ym5LZ1hJcFNKUGtyZTVGMW1HbjVWdzcvbERpQmt1d0FJaEFMcUFtUDZhVTlzT0oxaGpRUzczDQpTSzlSRCtLcjJRZmtxaHZUeVFuRDRoSmdBSFVBaDNXLzUxbDgrSXhEbVYrOTgyNy9WbzFIVmpiL1NyVmd3YlRxDQovMTZnZ3c4QUFBRnBqNnpFZ1FBQUJBTUFSakJFQWlBZmI0R0E1cmk0R29kamJvZGdhK2R5dzB0TzFjZXlqcDEzDQo4WlFDZjkyRVR3SWdYRWdMc0ZncFhVb3dvNWtidG5XMVVqaWh0U2lnQXY2aVkrbVdydHNVbnE0QWRRQkVsR1V1DQpzTzdPcjhSQUI5aW8vaWpBMnVhQ3Z0akxNYlUvMHpPV3RiYUJxQUFBQVdtUHJNTFZBQUFFQXdCR01FUUNJQXd1DQoxRDAwOVlrR2hkTkVjeVMrY3hWNkNJcHZEOVlYVUc2elplcHRrQytxQWlBRURMK2paNC9JYmxrdkV3U3E0K2NlDQpLVVVpUXJnTmwrUlBWWG1OWVVIQmpUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFYenlUdTR3emgxUlc5N28xDQpXYVY0K3BDeEZ4dE82Wm1QVG9Yd05NeHJFcVBKRDlIVWNnZmdKMzZYejZVVkdPMWV6K0orQUQzZW0rRGVST21EDQpualJzNms3VFkzYnNJSG5tdCt5b2FISmRiS0YxYzMwMmtxanJaeUxKNmdEVmQ3MFdERlovdkpvbUpaYXRocHJ3DQpxSzNuRjN5Z0RDRkdjNHNXeTBaTEVMUmQ3cFVzOEZNVldNMmo0UWhzODNzNjlpRTlLMkFJeTB0L01SbHM2eUlODQpDcFhYUmpFajVGU3pIanVhaHNWMEthYlRHS2wvTDVMYTBCMzZ4R3RoanQ1VysxVVc2U0NQNHlHYmt6RTR5enFCDQo4NmFNaDBLRGhmWUR5RnRrS3RWVUF5ZU1EVW5sT2JxckMzRnVNUlhIYTdySGdES0F5UFYrSHc4Z3BaK0YrU3BQDQpieWxzQ2c9PQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ=="; String filePath = "F:\\javatest\\test1.key"; stirng2File(string, filePath); } public static void stirng2File(String base64Code, String targetPath) { System.out.println("20个字符" + base64Code.substring(0, Math.min(20,base64Code.length()))); System.out.println("BASE64转译String:" + base64Code.length()); byte[] buffer; FileOutputStream out = null; FileOutputStream out2 = null; try { Base64 base64 = new Base64(); //解码 buffer = base64.decode(base64Code); //buffer = new BASE64Decoder().decodeBuffer(base64Code); System.out.println("BASE64转译byte:" + buffer.length); //System.out.println("数据为"+temp); //System.out.println("buffer长度"+buffer.length); out = new FileOutputStream(targetPath); // out2 = new FileOutputStream("D:\\test\\1.txt"); out.write(buffer); // out2.write(buffer); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (out != null) { try { out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (out2 != null) { try { out2.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
string转换文件后打开检查没问题:
3、将文件转换后的string添加到db
数据表结构:id,ssl_string,date_range
建表 导入:
CREATE TABLE SSLSTRING(ID INT,SSL_STRING TEXT,DATE_RANGE CHAR(50));
完成!
作者:运维·拖拉斯基
作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~
出处:https://www.cnblogs.com/-abm/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。