[英]comparing files using a do-while and for loops
首先,我要開放一個更好的方法來解決此問題。 我已經嘗試了幾種不同的方法,但是我還是沒有。
情況是有2個文件夾的文件。 每天都會自動從另一個來源下載文件夾1中的文件。 需要執行的操作是通過第二個程序,處理新文件,然后將最終結果添加到第二個文件夾中。
我的方法是使用幾個列表數組,並比較每個列表中的文件。 然后,即使由於某種原因該程序關閉了幾天,它仍然可以趕上處理文件的速度。 但是,比較文件無法正常工作,而且我遇到了錯誤。 兩個列表中的文件都以儒略格式的日期命名,因此應該可以進行比較。 這是代碼:
for (int i = 0; i < files.size(); i++) {
file = files.get(i);
String fileDOY = file.substring(4, 7);
int fileDOYint = Integer.parseInt(fileDOY);
}
boolean x = false;
ArrayList<String> dest = destin(name);
int j = 0;
do {
String destination = dest.get(j);
String dayDest = destination.substring(8, 10);
int dayInt = Integer.parseInt(dayDest);
if (dayInt == fileDOYint) {
x = true;
}
j++;
} while ((j < (dest.size() - 1)) || !x);
if (!x) {
System.out.println("work " + file);
}
輸出顯示除錯誤以外的任何內容。 當我在最后一個if語句中更改變量以在true時進行處理時,它將一直工作到丟失文件然后出錯為止。 因此,它似乎在循環中正常工作,但是沒有達到最后的if語句。 該錯誤指示“ do”開始后第一行出現問題。
更改您的||
在您do while
&&
} while ((j < (dest.size() - 1)) && !x);
如果從未找到fileDOYint
,則循環將繼續進行下去,直到獲得越界異常,無論j
是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.