【发布时间】:2014-06-26 22:01:47
【问题描述】:
我有两个类 getFile 和 readFile。 在 getFile 中有一个方法 gettingFile() 用于获取文件,而在 readFile 类中有一个方法 parseFile() 将解析文件。
public void gettting(){
File file1= new File("abc.bin");
....
....
}
我感到困惑的是,将“file1”发送到 parseFile() 方法的最佳方式是什么。 我现在想到的三个选项是:作为文件本身..
parseFile(file1);
或作为 byteArray..
DataInputStream dataIStream= new DataInputStream(new FileInputStream(file1));
BufferedInputStream bin= new BufferedInputStream(dataIStream);
byte[] byteArray= new byte[bin.available()];
bin.read(byteArray);
parseFile(byteArray);
或作为输入流..
parseFile(new FileInputStream(file1));
或者还有比这更好的选择吗? 我要解析的文件大小最大:20KB,最小:1KB。所有文件都是二进制文件,其中包含结构化格式的数据。是的,我能够做到以上任何一种方法。我在想哪个更好。 我将在 android 应用程序中使用这些类 在这里 stackoverflow.com/a/21101403/2508414 它说的是输入流。还是我的理解有误。
【问题讨论】:
-
你认为最简单的是什么?没有更多信息,就没有明确的“最佳”方式。
-
请注意,您的数组变体不一定会处理整个文件
-
@PeterLawrey 我要解析的文件大小最大:20KB,最小:1KB。所有文件都是二进制文件。我必须解析它并获取必要的信息
-
@kaze 所以大小不太重要,我会使用你认为最简单的方法。
标签: java android file file-io binaryfiles