Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字节数组到文件对象,而不保存到磁盘_Java_File_Byte - Fatal编程技术网

Java 字节数组到文件对象,而不保存到磁盘

Java 字节数组到文件对象,而不保存到磁盘,java,file,byte,Java,File,Byte,我有一个方法,它在.txt或.docx文件的不同代码部分中接受来自文件的字节[]。我想从字节中创建一个新的文件对象,以便以后从中读取内容,而无需将该文件保存到磁盘。这可能吗?还是有更好的方法从文件字节中获取内容?这不是它的工作方式。一个java.io.File对象是一个轻巧的包装器:检查-它有一个String字段,其中包含路径,这是除了一些簿记内容之外的所有内容 不可能用java.io.File对象表示任意数据j.i.File对象表示磁盘上的文本文件,不能表示其他任何内容 文件。readAllB

我有一个方法,它在.txt或.docx文件的不同代码部分中接受来自
文件的
字节[]
。我想从字节中创建一个新的
文件
对象,以便以后从中读取内容,而无需将该文件保存到磁盘。这可能吗?还是有更好的方法从文件字节中获取内容?

这不是它的工作方式。一个
java.io.File
对象是一个轻巧的包装器:检查-它有一个
String
字段,其中包含路径,这是除了一些簿记内容之外的所有内容

不可能用java.io.File对象表示任意数据
j.i.File
对象表示磁盘上的文本文件,不能表示其他任何内容

文件。readAllBytes
从字节中获取内容,即。。为什么方法有这个名称

通常的解决方案是,某些库中获取文件的方法被重载;还有一种方法采用
字节[]
,或者,如果不采用这种方法,还有一种方法采用
输入流
(您可以很容易地从
字节[]
生成IS:
新的ByteArrayInputStream(byteArr)
将完成这项工作)

如果您正在使用的API不包含任何此类方法,那么它就是一个糟糕的API,您应该找到其他东西,或者咬紧牙关接受您正在使用的是一个糟糕的API,以及所有这意味着的解决方法,包括必须将字节保存到磁盘以满足愚蠢的API


但是先看看;我打赌有一个
byte[]
和/或
InputStream
变体(或者可能是
URL
ByteBuffer
ByteStream
或其他一些更奇特的变体)。

它不是这样工作的。一个
java.io.File
对象是一个轻巧的包装器:检查-它有一个
String
字段,其中包含路径,这是除了一些簿记内容之外的所有内容

不可能用java.io.File对象表示任意数据
j.i.File
对象表示磁盘上的文本文件,不能表示其他任何内容

文件。readAllBytes
从字节中获取内容,即。。为什么方法有这个名称

通常的解决方案是,某些库中获取文件的方法被重载;还有一种方法采用
字节[]
,或者,如果不采用这种方法,还有一种方法采用
输入流
(您可以很容易地从
字节[]
生成IS:
新的ByteArrayInputStream(byteArr)
将完成这项工作)

如果您正在使用的API不包含任何此类方法,那么它就是一个糟糕的API,您应该找到其他东西,或者咬紧牙关接受您正在使用的是一个糟糕的API,以及所有这意味着的解决方法,包括必须将字节保存到磁盘以满足愚蠢的API


但是先看看;我打赌有一个
byte[]
和/或
InputStream
变体(或者可能是
URL
ByteBuffer
ByteStream
或一些其他更奇特的变体)。

如果不想与文件交互,不要使用
File
。传递
Byte[]
或创建自己的类来包装数据。我如何从文件字节中获取内容?字节就是内容。对于文本文件,我可以这样做,但对于其他文件类型,如.docx和.xlsx,又如何呢?文件仅由字节组成。无论文件类型如何,内容都是字节。如果不想与文件交互,请不要使用
文件
。传递
Byte[]
或创建自己的类来包装数据。我如何从文件字节中获取内容?字节就是内容。对于文本文件,我可以这样做,但对于其他文件类型,如.docx和.xlsx,又如何呢?文件仅由字节组成。无论文件类型如何,内容都是字节。我不知道为什么,但我从来没有考虑过找到一个可以处理字节而不是文件对象的库,所以我来看看。谢谢。我不知道为什么,但我从来没有考虑过找到一个可以处理字节而不是文件对象的库,所以我来看看。谢谢