【问题标题】:Creating file from data stored in xml从存储在 xml 中的数据创建文件
【发布时间】:2018-01-22 08:38:55
【问题描述】:

我真的不知道如何恰当地描述这一点。我有一个包含以下格式文件的 XML 文件(它是 jpg 文件的一部分):

mF1vmzAUhu8n7T8g307gpNu6bgrpxT6u9lGp3Q/w4JBYA9uynSz59ztA0pKKFFpj+SaKP973PBZg
v/LieleV0Ra04VKkZJ7MSAQikzkXq5T8vvsWX5HIWCZyVkoBKdmDIdfL168Wd3sFJkK1MClZW6s+
UWqyNVTMJFKBwJFC6opZbOoVVSz7y1ZAL2azS5pJYUHY2NYeZLn4AgXblDb6usPulkSJFYk+t/Pq
UinhVa2v+2mvAqqiV7GL65F+jYbSPBIxpUqeMYvjdCvyR2uJD+tIUNnMMWuuzBuccKZCPXK+wEH3
Cx+A5jlEN0zbn6zCWVQpS5UGg7pmbvK0Uw+qLAqeQS6zTYWSpGtWlSfNpGJcHBdxDsaU2PmDGYsv
S7cxn5qs4z2K6UDjh+M5BBfBCd4GJ3gXnOB9cILL4AQfghNcBSf4GJxgPguPEGZXFNKCOZ4Vncbk
NB3vIaY1hhi5sUeqk+bkXCfuQ2S19kZLZXyc8Y3xEMGWwz8vBPfGQwQWkyO0v+4Po7EZrMj+lHBr
9yVMvuqO9aiP9Tvb48ty+GTbhp/vtvV+KZOffOPG5CfxuDH5yUBuTH5SkRuTn5zkxuQnObkx+clS
bkx+0pUbk6e85QgVcifvnKrum/e4U/WhovvWPKpiEwFv28z78N9P0mysXwY0+eE5DgjVTf6imdTw
fITjdVetjhUagbb86VRzXxGtndcM9U1aDnlPbdrcQC7/AwAA//8DAFBLAwQUAAYACAAAACEA82vR
hfEAAABRAgAACwAIAl9yZWxzLy5yZWxzIKIEAiigAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKySz0oDMRCH74LvEObenW0FEWm2FxF6E1kf
YEhm/+BuMiSjtG9vFEQXaunBYya/+fLNkO3uME/mnVMeY7CwrmowHFz0Y+gtvLSPqzswWSl4mmJg

这种“格式”叫什么(我需要正确地用谷歌搜索)?我试图将此文本复制到文本文件中并将其命名为“MyPicture.jpg”,但我无法打开它。不能检索这样的文件吗?我必须更改编码吗?

在下一步中,我想使用使用 java 的 StreamWriter 来恢复文件。这样做有什么需要我注意的吗?

【问题讨论】:

  • 看起来像base64数据。您也许可以使用Base64.getDecoder() 对其进行解码并获得更有意义的字节数据。
  • 这既不是 XML 也不是 JPG 文件。看起来它是 base64 编码的...
  • 我没有发布xml,只是“附件”标签,这是一个文件。它是base64,所以现在我知道了,我可以使用java对其进行解码(已经在网站上对其进行了解码并且我能够获得jpg)非常感谢,现在我知道如何继续了!

标签: java file streamwriter


【解决方案1】:

很可能是 base64 内容,所以试试这个并确保将所有数据复制到 base64Content 变量中...

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.IOUtils;

String base64Content = "mF1vmzAUhu8n7T8g307gpNu6bgrpxT6u9lGp3Q/w4JBYA9uynSz5 ... ";
String decodedContent = IOUtils.toString(Base64.decodeBase64(base64Content.getBytes()), "UTF-8");

如果decodedContent 不可读,您可能有一个二进制文件(例如 MS Word、图像等)。通常查看二进制文件就可以知道它是什么。如果不看使用Apache Tika

在写回数据时,只需确保再次使用 UTF-8。见how-to-write-a-utf-8-file-with-java

【讨论】:

    猜你喜欢
    • 2017-03-07
    • 2018-01-15
    • 2011-03-21
    • 2010-12-02
    • 1970-01-01
    • 2021-09-01
    • 2014-02-07
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多