标签:
1 package com.down.edu; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 import java.net.HttpURLConnection; 7 import java.net.URL; 8 9 public class DOWNDATA { 10 public String data=""; 11 12 public DOWNDATA(String code) 13 { 14 String Httpurl="http://hq.sinajs.cn/list=sh"; 15 StringBuffer content=new StringBuffer(); 16 try{ 17 URL httpURL=new URL(Httpurl+code); 18 HttpURLConnection connection=(HttpURLConnection)httpURL.openConnection(); 19 connection.connect(); 20 InputStream is=connection.getInputStream(); 21 BufferedReader br=new BufferedReader(new InputStreamReader(is)); 22 String str=""; 23 while((str=br.readLine())!=null){ 24 content.append(str); 25 } 26 27 br.close(); 28 is.close(); 29 }catch(Exception e){ 30 31 } 32 String cont=content.toString(); 33 data=cont.replace("var hq_str_sh"+code+"=\"", "").replace(",00\";", ""); 34 35 } 36 37 }
这部分最主要,但也觉得没什么好讲的,也就一段以逗号隔开的字符,然后把不需要的部分删掉,最后在界面里呈现~请看:
package com.ui.edu; import com.down.edu.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import javax.swing.*; import javax.swing.table.DefaultTableModel; import com.down.edu.*; public class UI implements ActionListener { /** * @param 独孤求败 * 邮箱hcareking@163.com * 功能:股票离线分析系统 */ JFrame f; JTextField jtf; JTextArea jta; JButton jb; JPanel jp; DefaultTableModel atm = null; Vector vDate = new Vector(); Vector vName = new Vector(); JTable table = null; JScrollPane sPane = null; public static void main(String[] args) { // TODO Auto-generated method stub UI ui = new UI(); } public UI() { // 元素属性 f = new JFrame("股票离线分析系统"); f.setLayout(new BorderLayout()); jp=new JPanel(); jp.setLayout(new FlowLayout()); jtf = new JTextField(40); jtf.addActionListener(this); vName.add("股票名字"); vName.add("今日开盘价"); vName.add("昨日收盘价"); vName.add("当前价格"); vName.add("今日最高价"); vName.add("今日最低价"); vName.add("竞买价"); vName.add("竞卖价"); vName.add("成交的股票数/100"); vName.add("成交金额/万"); atm = new DefaultTableModel(vDate, vName); Object[][] data = {}; table = new JTable(atm); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//???? table.setPreferredScrollableViewportSize(new Dimension(600, 80)); Font x = new Font("seril", 0, 12); table.setFont(x); JScrollPane scrollPane = new JScrollPane(table); table.setFillsViewportHeight(true); table.updateUI(); jb = new JButton("提交"); jb.addActionListener(this); // 添加元素 f.getContentPane().add(scrollPane, BorderLayout.CENTER); jp.add(jtf); jp.add(jb); f.add(jp,BorderLayout.NORTH); // 框架设置 f.setSize(1000, 600); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); f.setLocation((int) screenSize.getWidth() / 2 - 500, (int) screenSize.getHeight() / 2 - 300); f.setVisible(true); f.setResizable(false); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (e.getActionCommand().equals("提交")) { System.out.println(jtf.getText()); DOWNDATA downdata=new DOWNDATA(jtf.getText()); addDate(downdata.data); } } public void addDate(String data) { Vector vTmp = new Vector(); String split[]=data.split(","); for(int a=0;a<=9;a++) { System.out.println(split[a]); vTmp.add(split[a]); } vDate.add(vTmp); table.updateUI(); } }
总之很简单的东西了,给初学者一个借鉴吧,然后,万里长征第一步,I will be stronger~,一切都会好起来的,我不是在妥协生活,而是在等待黎明。
新浪股票网络接口ps:我写的第一个最简单的小爬虫o(^▽^)o
标签:
原文地址:http://www.cnblogs.com/hcareking/p/4522858.html