我有一个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是什么? –