-2

我正在尝试在 Java 中创建一个数据库连接对象,我希望在其中使用我在内存中拥有的 File 对象。我有点不愿意先将文件(我在内存中的文件)写入磁盘,然后再次从磁盘读取以在我存储文件的位置创建数据库连接。

在Java中可以这样做吗?有人可以指导我吗..

根据评论更新 1:我不愿意写入磁盘然后再次读取,因为我发现它没有必要。我有大量通过网络接收的文件。如果我继续将它们写入磁盘然后从中读取,我(处理器)实际上是在浪费大量时间将数据写入磁盘,只是在写入完成后立即读取。对磁盘的读写是昂贵的,如果我在内存中有数据,为什么你认为我寻找一种立即使用它的能力是“模糊的”,而不是先写、读和然后将其加载回内存?

更新 2 - 好的,所以我想,与其让更多人感到困惑,我会更详细地说明这种情况。我通过网络接收文件 - 所以我有一个字节数组。

现在第一件事- 我可以使用该数据创建一个 im-memory java.io.File 对象(无需将内容写入磁盘)吗?如果是这样,那么第二步将是我尝试在内存文件对象中使用它(它是使用通过网络接收的字节创建的) - 它是我确定的数据库文件,所以想创建一个连接以便我可以查询。

4

1 回答 1

1

can I create an im-memory java.io.File object using that data (without having to write the contents to the disk)?

No. The java.io.File class is a cross-platform abstraction for paths (i.e. the locations of files on disk), it has no concern for the data contained in the file - indeed one of the common uses for File objects is to check whether a particular path refers to an existing file, a directory, or does not exist at all.

Whether you can make use of the data you hold in a byte[] without writing it to disk is something nobody can answer without knowing exactly which "database" system you're using, as the answer depends entirely on what the underlying library supports.

于 2013-04-03T15:07:20.827 回答