我有代表我通过网络传输的文件的字节。除了在文件系统上手动重建文件外,如何从文件中获取信息,例如getName()、getPath()等?
换句话说:
- 我从机器 A 上的一个文件开始
- 我使用 FileUtils 将文件转换为字节数组
- 我通过网络将该文件传输到机器 B
- 在机器 B 上,我想将 byte[] 重建为文件并运行 getName() 等方法
以下不起作用
- (文件)字节 --> 不转换
- ((File) ((Object) bytes))) --> 也不转换
我真的不想在文件系统上创建新的临时文件,尽管我知道有静态 File.createTemp 可以做到这一点。我宁愿将其保留在内存中,从 byte[] 数组构造一个新的 File 对象,获取我需要的信息并完成。
实际上,更好的是一个 API,它将获取 byte[] 并从中解析位直接获取文件名。
The byte[]
由返回FileUtils.readFileToByteArray
只是文件内容,没有其他内容。
您应该创建自己的可序列化类,其中包含两个字段:byte[]
文件内容,以及java.io.File
这里有您需要的一切。然后将您的类序列化/反序列化为byte[]
,即被传送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)