import java.io.*;
import java.net.*;
import java.sql.*;
class game0320{
String str,urlx;
String bun;
String article[]=new String[100];
String title[]=new String[100];
String des[]=new String[100];
String link[]=new String[100];
int num;
int s;
String url = "jdbc:derby:db;create=true";
String usr = "";
String pwd = "";
public static void main(String [] args) {
game0320 f=new game0320();
}
game0320(){
urlx="http://feeds.nytimes.com/nyt/rss/Africa";
getdata(urlx);
makearticle();
System.out.println(num);
for (s=1;s<num+1;s++){
title[s]=makedata(article[s],"title");
link[s]=makedata(article[s],"link");
}
createtable("db04","(item long varchar)");
for (s=1;s<num+1;s++){
insertdata("db04",title[s]);
}
select("item","db04");
}
void insertdata(String tablename,String newdata){;
Connection dbx;
Statement stx;
String sqx;
sqx="insert into " +tablename+ " values('";
sqx=sqx+newdata;
sqx=sqx+"')";
try {
dbx = DriverManager.getConnection(url, usr, pwd);
stx = dbx.createStatement();
stx.executeUpdate(sqx);
stx.close();
dbx.close();
} catch (Exception ex) {ex.printStackTrace();}
}
void createtable(String tablename,String sqlword){
Connection dbx;
Statement stx;
String sqx;
sqx="create table "+tablename+sqlword;
try {
dbx = DriverManager.getConnection(url, usr, pwd);
stx = dbx.createStatement();
stx.executeUpdate(sqx);
stx.close();
dbx.close();
} catch (Exception ex) {ex.printStackTrace();}
}
void select(String x,String tablename){
Connection dbx;
Statement stx;
ResultSet rsx;
String sqx;
try {
dbx = DriverManager.getConnection(url, usr, pwd);
stx = dbx.createStatement();
sqx="select * from ";
sqx=sqx+tablename;
rsx = stx.executeQuery(sqx);
if (rsx != null) {
while (rsx.next()) {
String item = rsx.getString(x);
System.out.println(item);
}
}
rsx.close();
stx.close();
dbx.close();
} catch (Exception ex) {ex.printStackTrace();}
}
String makedata(String doc,String you){
String sx1,sx2,sx;
int x1,x2;
int lp1;
int lp2;
sx1="<"+you+">";
sx2="</"+you+">";
lp1=sx1.length();
lp2=sx2.length();
x1=doc.indexOf(sx1);
x2=doc.indexOf(sx2);
sx="";
if(x1>-1)sx=doc.substring(x1+lp1,x2);
return sx;
}
void makearticle(){
int point,x,n;
int x2,lp2;
String sx;
point=0;
x=bun.indexOf("<item");
n=0;
while(x>0){
n=n+1;
article[n]=makeart(bun,point);
sx="</item>";
lp2=sx.length();
x2=bun.indexOf(sx,point);
point=x2+lp2;
x=bun.indexOf("<item",point);
}
num=n;
}
String makeart(String bun,int point){
String sx1,sx2;
int x1,x2;
int lp1;
int lp2;
sx1="<item";
sx2="</item>";
lp1=sx1.length();
lp2=sx2.length();
x1=bun.indexOf(sx1,point);
x2=bun.indexOf(sx2,point);
return bun.substring(x1,x2+lp2);
}
void getdata(String name){
int n;
String data[]=new String[1000];
try{
URL url = new URL(name);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
con.connect();
BufferedReader reader =
new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
n=0;
while (true){
String line = reader.readLine();
if ( line == null ){
break;
}
data[n]=line;
n=n+1;
num=n;
}
reader.close();
con.disconnect();
}
catch(Exception e) { System.err.println(e); }
bun="";
for (n=0;n<num;n++){
bun=bun+data[n];
}
}
}
最終更新:2011年03月26日 13:34