请告诉我最好的/快速的方法为:

1)装载非常小的二进制文件到存储器中。例如图标;

2)加载/读取大小512MB +的非常大的二进制文件。也许我必须使用存储器映射的IO?

3)当你不想去想大小/速度,但必须做的唯一的事情你共同的选择:读取所有字节到内存

谢谢!

P.S。对不起,也许微不足道的问题。请不要靠近它;)

P.S.2。 镜象的模拟问题的为C#;

有帮助吗?

其他提示

读取小型文件到存储器的最简单的方法是:

// Make a file object from the path name
File file=new File("mypath");
// Find the size
int size=file.length();
// Create a buffer big enough to hold the file
byte[] contents=new byte[size];
// Create an input stream from the file object
FileInputStream in=new FileInutStream(file);
// Read it all
in.read(contents);
// Close the file
in.close();

在现实生活中你需要一些try / catch块在I / O错误的情况。

如果你正在读一个大文件,我会强烈建议不要读这一切到内存在同一时间,如果有可能避免它。阅读,在大块处理它。这是一个非常罕见的应用程序,它确实需要保留在内存中一个500MB的文件的一次。

有没有这样的事情如在Java中存储器映射I / O。如果这是你需要做的,你只需要创建一个非常大的字节数组。

scroll top