フォルダーにファイルが存在するかどうかを確認する必要があるという要件があります。はいの場合は、1 つずつ処理する必要があります。私の基本的な知識で、以下に投稿したコード構造にたどり着きました。
無限ループを作成し、そのフォルダーにファイルが存在するかどうかを確認しています。はいの場合は、スレッドを作成して処理しています。それ以外の場合は、1 分待ってから再度チェックします。
class sample {
synchronized int getNoOfFiles() {
// get number of files in the folder
}
synchronized void openFile() {
// open one file
}
synchronized void getFileContents() {
// get the file content
}
synchronized void processFileContent() {
//performing some operation on file contents
}
synchronized void closeFile() {
//closing the file
}
synchronized void deleteFile() {
//delete the file
}
}
class Test {
public static void main(String args[]) {
int flag=0;
Sample obj = new Sample();
while(1) {
flag = obj.getNoOfFiles();
if(flag) {
for(i=0;i<flag;i++) {
MyThread1 t1 = new MyThread1() {
public void run() {
obj.openFile();
obj.getFileContents();
obj.processFileContent();
obj.closeFile();
obj.deleteFile();
}
};
t1.start();
}
}
else {
try {
Thread.sleep(60000);
}
}
}
}
}