package com; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Test { public static void main(String[] args) { Test t = new Test(); t.inputToXML(); t.outToImage(); } // 图片转换成XML public void inputToXML() { BASE64Encoder encoder = new BASE64Encoder(); try { File f = new File("D:\\xml\\1.jpg"); // System.out.println("5555"); if (f.exists()) { FileInputStream fis = new FileInputStream(f); byte[] buffer = new byte[(int) f.length()]; fis.read(buffer); String s_imageData = encoder.encode(buffer); Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("ImageList"); Element imageID = root.addElement("imageID"); Element imageInfo = root.addElement("imageInfo"); Element imageSize = root.addElement("imageSize"); Element imageData = root.addElement("imageData"); imageID.addText("01"); imageInfo.addText("图片1"); imageSize.addText(String.valueOf(f.length())); imageData.addText(s_imageData); XMLWriter writer = new XMLWriter(new FileOutputStream("D:\\xml\\1.xml")); writer.write(doc); System.out.println("22"); writer.flush(); writer.close(); } else { System.out.println("找不到要转换的图片文件!"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // XML转成图片 public void outToImage() { File f = new File("D:\\xml\\1.xml"); SAXReader reader = new SAXReader(); try { Document doc = reader.read(f); byte[] aa = doc.asXML().getBytes() ; System.out.println(new String(aa,"UTF-8")); Element root = doc.getRootElement(); Element image = (Element) root.selectSingleNode("imageData"); String s_data = image.getText(); BASE64Decoder decoder = new BASE64Decoder(); byte[] data = decoder.decodeBuffer(s_data); FileOutputStream fos = new FileOutputStream("D:\\xml\\71198.jpg"); fos.write(data); fos.flush(); fos.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
关于"图片文本互相转换",这里可能是指将Base64编码的图片数据嵌入到文本格式中,比如XML或JSON,或者反过来从这些格式中提取Base64编码的图片。在XML或JSON中,Base64编码的字符串可以直接作为属性值或字符串节点...
Base64Util工具类提供了将二进制数据转换为Base64字符串和反向转换的方法。例如,你可以使用它来编码图片、证书或其他非ASCII字符的数据,以便在HTTP请求中安全地传输。Base64Util通常包含如`encodeToString`(将...
在“Base64.dll”这个文件中,可能包含了一套实现Base64编码和解码功能的函数库,方便开发者在C/C++等语言环境下进行相关操作。 接下来是“pb base64加解密”。这里的“pb”很可能指的是Protocol Buffers(简称...
描述提到了".net5文件与base64编码相互转化",这暗示了项目可能包含两个主要功能:一是将文件转换为Base64字符串,二是将Base64字符串解码回原始文件。"选择文件以及文件夹"意味着该工具或代码库支持批量操作,用户...
由于C#默认使用XML格式,而Java更倾向于PEM或Base64格式,我们需要将这些格式相互转换。这通常涉及到Base64解码、XML解析和字节数组操作。 描述中提到的`RSAHelp.cs` 文件可能包含了一个C#类,用于处理这些转换。这...
SVG是一种基于XML的矢量图像格式,能够提供高质量、可缩放的图形,而CSS则用于定义网页的样式和布局。在某些情况下,开发者可能需要将SVG转换为CSS,或者反过来,以便更好地管理和优化资源。同时,为了提高性能和...
3. **转换数据**:对于非文本数据,如图像或图标,工具可能需要将它们编码为Base64字符串,以便在XML中表示。 4. **保存为.resx文件**:最后,将生成的XML结构写入新的.resx文件中,保留原有的命名空间和类名,以便...
在此研究中,使用Base64编码压缩可以减少数据传输量,从而提高SOAP(简单对象访问协议)的性能,SOAP是基于XML(可扩展标记语言)用于Web服务通信的一种协议。 仿真试验结果表明,利用分布式Web服务的组卷系统不仅...
在Python中,`bytes()`和`str()`可以相互转换,而在Java中,`getBytes()`和`new String(byte[])`用于字节和字符串间的转换。 总的来说,类型转换是编程中不可或缺的部分,理解并熟练掌握各种类型的转换方法能够帮助...
5.17 将字节写入文本文件:处理字节和文本的互相转换。 5.18 将文件描述符包装成文件对象:将文件描述符包装成Python的文件对象。 5.19 创建临时文件和文件夹:生成临时文件和文件夹。 5.20 与串行端口的通信:进行...
本文将深入探讨如何利用Web服务技术来构建一个高效的进制转换器,支持二进制、八进制、十进制之间的相互转换。Web服务作为一种开放的标准,能够跨越平台界限,使得不同系统间的数据交互变得更加便捷。 【二进制、八...
`java.xml.bind`模块是Java Architecture for XML Binding(JAXB)的一部分,它实现了将Java对象和XML数据之间的自动转换。在源码中,可以学习到如何利用JAXB进行数据绑定,提高数据序列化和反序列化的效率。 `java...
13. XML和.NET:文档中提到了“XML”,这表示.NET框架提供对XML的全面支持,包括读写XML文件、使用LINQ to XML进行查询和转换等。 14. 数据库和SQL:文档提到了“SQL”,这表明.NET框架支持使用SQL语言与数据库进行...
1. 文件格式转换:Java中的`java.io`和`java.nio`包提供了对文件读写的支持,开发者可以利用这些API将不同格式的文件(如PDF、DOC、TXT等)相互转换。 2. 图像转换:Java的`javax.imageio`包允许开发者读取、写入和...
详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...
其中,MappingJackson2HttpMessageConverter是SpringMVC默认处理JSON格式请求和响应的实现类,利用Jackson库来读写JSON数据。开发者需要在项目中引入Jackson库的相关jar包: - jackson-annotations-2.8.8.jar:JSON...