の異なるフォルダから複数のファイルを読むためにループ、それをデシリアライズし、文字列配列私はフォルダから複数のオブジェクトを取得するコードを持っている階層
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このフォルダは最後に見ることができます。シリアライズされたビンファイルのストレージはそのようなもので、1秒で作成されるビンファイルの数はその "秒"フォルダに格納されます。つまり、ビンが17:15:32に作成された場合、ビンファイルは2012年→3か月→21日→17時間→15分→32秒のフォルダに格納されます。 > 1つ以上のbinファイルを作成します。
通常、この階層からbinファイルを取得する必要がある場合は、ユーザーが入力した時間に正常に実行できます。しかし、時間間隔が与えられたとすると、17:15:35から17:20:35までのすべてのbinファイルを取得すると、15分35秒35分36秒の取得済みのすべてのbinファイルが返されます。 ... 16分の1秒、20分の35秒まで。これにより、正確に5分の時間ウィンドウを完成させ、この間隔ですべてのビンファイルを検索する。また、毎秒ビンファイルを発行する必要はない。 binファイルは作成されていないため、second/minuteフォルダは階層に存在しません。つまり、17:18:0〜17:19:0の場合、binファイルは作成されませんでした。 binファイルの作成の一貫性がないかもしれません。 binファイルのすべてのデータは、1つの文字列配列に格納する必要があります。 どのようにループしても、私は希望の結果を得ることができませんでしたので、ここでは基本コードを設定しました。どのように私はそれをやって行くのですか?助けてください
実際のタイムスタンプをどのように使うことができるかを少し説明してください。 – kuki