用地址打开看看时间,跟本地输出的时间字段,为什么读取不完整.在线等高手检查.
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.*;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.io.BufferedReader;
import java.util.Vector;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Test { public Test() {
getDataFromWeb("http://ichart.finance.yahoo.com/table.csv?s=SPX&d=9&e=30&f=2007&g=d&a=11&b=10&c=2006&ignore=.csv");
} public static void main(String[] args) {
new Test();
} private void getDataFromWeb(String urlAddress) {
try {
URL url = new URL(urlAddress);
InputStream in = url.openStream();
BufferedReader bd = new BufferedReader(new InputStreamReader(in));
String inLine = "";
Vector vecRe = new Vector();
while ((inLine = bd.readLine()) != null) {
vecRe.add(inLine);
}
for (int i = 1; i < vecRe.size(); i++) {
String strLine = vecRe.get(i).toString();
SimpleDateFormat sfYahoo = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sfGoogle = new SimpleDateFormat("dd-MMM-yy");
Calendar cTemp = Calendar.getInstance();
try {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(strLine.split(",")[0].trim().
replaceAll("-", ""));
if (isNum.matches()) {
cTemp.setTime(sfYahoo.parse(strLine.split(",")[0]));
} else {
cTemp.setTime(sfGoogle.parse(strLine.split(",")[0]));
}
} catch (ParseException ex) {
System.out.println("simple date format error.");
}
System.out.println(cTemp.getTime() + " , " + strLine);
if (strLine.split(",")[1].trim().contains("Dividend")) {
break;
}
}
bd.close();
in.close();
} catch (Exception ex) {
System.out.println(urlAddress + "Can't find the file from web." +
ex.getMessage());
}
}
}
over