用地址打开看看时间,跟本地输出的时间字段,为什么读取不完整.在线等高手检查.
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());
        }
    }
}