我正在尝试用Java创建一个数据库连接对象,其中我希望使用我在内存中的File对象。 我有点不愿意先将文件(我在内存中)写入磁盘,然后再从磁盘读取以创建数据库连接w.r.t.我存储文件的地方。
是否可以在Java中这样做?有人可以指导我..
根据评论更新1 :我不愿意写入磁盘,然后再次阅读,因为我发现它没有必要。我有一个巨大的文件转储,通过网络收到。如果我继续将它们写入磁盘然后从磁盘读取,我(处理器)实际上是浪费了大量时间将数据写入磁盘,只是在写入完成后立即读取。从磁盘读取和写入是昂贵的,如果我在内存中有数据,为什么你认为它是“ Vague ”让我能够立即使用它,而不是而不是先写,读,然后将其加载回内存?
更新2 - 好的,所以我想,不要让更多人感到困惑,我会详细说明情况。我通过网络收到文件 - 所以我有一个字节数组。
现在第一件事 - 我可以使用该数据创建一个内存中的java.io.File对象(无需将内容写入磁盘)吗?如果是这样,那么第二步将是我尝试在内存中使用File对象(使用通过网络接收的字节创建) - 它是我知道的数据库文件,所以想创建一个连接以便我可以查询。
答案 0 :(得分:1)
我可以使用该数据创建一个内存中的java.io.File对象(无需将内容写入磁盘)吗?
没有。 java.io.File
类是路径的跨平台抽象(即磁盘上文件的位置),它不关心文件中包含的数据 - 确实File
个对象的一个常见用途是检查特定路径是指现有文件,目录还是根本不存在。
你是否可以使用byte[]
中保存的数据而不将其写入磁盘是没有人能够在不知道你正在使用哪个“数据库”系统的情况下回答的问题,因为答案完全取决于什么底层库支持。