我被要求启动一个 Excel 文件,该文件是在运行时在 RAM 内存内创建的。
例如,使用:
Desktop.getDesktop().open(new File("c:\....\fileName.xlsx"));
我可以“启动”打开文件“c:....\fileName.xlsx”的 Excel 程序。
由于我的文件是在 RAM 内存中以这种方式创建的:
...
FileSystemManager fsm = VFS.getManager();
FileObject RAM = fsm.resolveFile("ram://ramFileName.xlsx");
OutputStream os = RAM.getContent().getOutputStream();
FileInputStream sorgente = new FileInputStream("C:\\originalFile.xlsx");
int singloByte;
while ((singloByte = sorgente.read()) != -1) {
os.write(singloByte);
}
sorgente.close();
os.close();
...
有没有办法打开仅在RAM内存中创建且不在文件系统中创建的文件?
谢谢
最佳答案
Excel 文件无法“启动”。 Desktop.open()
的作用是查找文件的默认处理程序(在本例中可能是 Excel),并以给定文件作为参数启动该处理程序。
由于 Excel 无法打开“内存文件”(AFAIK),因此您别无选择,只能将其写入临时文件来打开它。
关于java - 启动在 RAM 内存中创建的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57889501/