我有一个文件夹中检索多个对象的编码,解串,并将其添加到字符串数组循环从层次结构的不同文件夹中读取多个文件
public static String[] play(){
int i = 0;
List<String> args = new ArrayList<String>();
while (true) {
try {
args.add(processFile(i));
System.out.println(i);
i++;
}
catch (Exception e) {
System.out.println("No more files");
break;
}
}
String[] array = args.toArray(new String[0]);
return array;
}
private static String processFile(int fileNumber) throws Exception {
File file=new File("E:/proj/"+fileNumber+".bin");
FileInputStream fin=new FileInputStream("E:/proj/"+fileNumber+".bin");
//reading the byte content of the bin files
byte fileContent[] = new byte[(int)file.length()];
fin.read(fileContent);
//store the deserialized object that is returned to an object.
Object obj=serializer.toObject(fileContent);
//converting the obtained object to string and storing it to args, a string[]
String word=obj.toString();
return word;
}
}
这示例代码,检索打开此层次结构后面的“秒”文件夹的消息。 TIMESTAMP CHART这个文件夹最后可以看到。序列化的bin文件的存储是这样的,一秒钟内创建的bin文件的数量存储在该“秒”文件夹中。也就是说,如果在17:15:32 pm创建了一个bin,bin文件将被存储在2012年 - > 3月 - > 21日期 - > 17小时 - > 15分钟 - > 32秒的文件夹下 - > 1个或更多的bin文件,取决于在那一秒创建了多少个bin文件。
如果我必须从这个层次结构中正常检索bin文件,我可以成功地为用户输入时间。但是如果给定时间间隔,比如说从17:15:35到17:20:35检索所有的bin文件,那么我将不得不返回在15分35秒,15分36秒得到的所有bin文件。 ...第16分钟第1秒等等,直到35秒20分钟;从而完全准确地完成5分钟的时间窗口并检索该间隔中的所有bin文件。此外,不必每秒发布一个bin文件,因为它可能发生在第二次或一分钟内,没有创建bin文件,因此第二个/分钟文件夹不存在于层次结构中。也就是说,也许是17:18:0到17:19:0,没有创建bin文件;可能/不可能创建bin文件的一致性。并且bin文件的所有数据都必须存储在一个字符串数组中。 无论我如何循环它,我无法达到预期的结果,所以我在这里提出基本代码。我如何去做呢?请帮助
请问您可以说明一下,因为我可以使用实时时间戳吗? – kuki 2012-03-26 05:45:08