我有一個Java
文件,該文件基於今天的日期獲取文件。如何遞歸檢索文件
e.g 20151202data.csv
如果今天的文件不可用,它會昨天。該程序得到今天文件罰款,這是當我試圖回滾是當我得到錯誤。答案是空的。
代碼
errorCount = 0;
public static JSONArray getJSON(String url)
HttpClient httpClient = new DefaultHttpClient();
JSONArray jArray = new JSONArray();
Object[] q = null;
Deque<String> queue = new ArrayDeque<String>();
try{
logger.info("\nSending 'GET' request to URL : " + url);
HttpGet httpGet = new HttpGet(url);
HttpResponse response = httpClient.execute(httpGet);
int responseCode = response.getStatusLine().getStatusCode();
logger.info("Response Code : " + responseCode);
if (responseCode != 404){
...Do Things...
else{
if(errorCount > 0){
logger.info("Cannot find data.csv for " + getDayBefore(errorCount));
return null;
}else{
errorCount++;
logger.info("404: Today's file couldn't be found. Using " + getDayBefore(errorCount) + "data.csv");
getJSON("/data/"+ getDayBefore(errorCount)+"data.csv");
errorCount = 0;
}
}
return jArray;
}finally{
httpClient.getConnectionManager().shutdown();
}
當我試圖讓昨天的數據,我得到[]
作爲響應,即使20151201data.csv
是20151202data.csv
的精確副本和一個200響應代碼被記錄。
登錄
Sending 'GET' request to URL : http://www.test.com/data/20151202data.csv
Response Code : 404
404: Today's file couldn't be found. Using 20151201data.csv
Sending 'GET' request to URL : http://www.test.com/data/20151201data.csv
Response Code : 200
響應
[]
有我丟失的東西?
@ guillaumegirod-vitouchkina這正是這是一個失敗的案例 –
問題似乎是在檢索數據(因爲200響應代碼是好的)。你的代碼在哪裏檢索URL? –
dataLocation是什麼? –