java开发项目集锦附源码.docx
- 文档编号:9189652
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:40
- 大小:22.94KB
java开发项目集锦附源码.docx
《java开发项目集锦附源码.docx》由会员分享,可在线阅读,更多相关《java开发项目集锦附源码.docx(40页珍藏版)》请在冰点文库上搜索。
java开发项目集锦附源码
新浪天气预报新闻java抓去程序
package*正则方式抓取新浪天气新闻上的新闻
*地址*@paramargs
*/
publicclassNewlist{
privatestaticfinalLoglog=;
/**
*测试
*@paramargs
*/
publicstaticvoidmain(Stringargs[]){
Newlistn=newNewlist();
String[]k=();
for(inti=0;i<;i++){
"href=\"","href=\"url="));
}
String[]m=("news/2008/1119/");
for(intl=0;l<;l++){
}
}
/**
*由url地址获得新闻内容string[]
*新闻中的图片下载到本地,文中新闻地址改成本地地址
*@paramurl
*@return
*/
publicString[]getNewinfo(Stringurl){
StringURL=""+url;
)
",getContent(URL),30);for(inti=0;i<;i++){
Patternsp=("src=\"(.*)\"");
Matchermatcher=(s[i]);
if()){
Stringimageurl=analysis("src=\"(.*)\"",s[i],1)[0];
if(!
("")){
imageurl=""+imageurl;
}
"新闻有图片:
"+imageurl);
Stringcontent=getContent(imageurl);
String[]images=("/");
Stringimagename=images[];
"图片名:
"+imagename);
try{
Filefwl=newFile(imagename);
PrintWriteroutl=newPrintWriter(fwl);
(content);
();
}catch(IOExceptione){
eplace(analysis("src=\"(.*)\"",s[i],1)[0],imagename);
}
}
returns;
}
publicString[]getNewList(){
Stringurl="";
returngetNewList(getContent(url));
}
privateString[]getNewList(Stringcontent){
/images/a(.*).gif\"width=\"70\"height=\"65\">",content,50);
String[]s=analysis("
returns;
}
privateString[]analysis(Stringpattern,Stringmatch,inti){
Patternsp=(pattern);
Matchermatcher=(match);
String[]content=newString[i];
for(inti1=0;();i1++){
content[i1]=
(1);
}
penConnection();
oString());
"-----------------------------------------");
BufferedReaderbr=newBufferedReader(newInputStreamReader(),"gb2312"));
Strings="";
StringBuffersb=newStringBuffer();
while((s=())!
=null){
(s+"\r\n");
}
"长度+"+().length());
return();
}catch(Exceptione){
return"erroropenurl"+strUrl;
}
}
*/
publicstaticStringgetContent(StringstrUrl){
URLConnectionuc=null;
Stringall_content=null;
try{
all_content=newString();
URLurl=newURL(strUrl);
uc=();
("User-Agent",
"Mozilla/(compatible;MSIE;WindowsXP;DigExt)");
"-----------------------------------------");
"Content-Length:
"+());
"Set-Cookie:
"+("Set-Cookie"));
"-----------------------------------------");
oString());
"-----------------------------------------");
if(uc==null)
returnnull;
InputStreamins=();
ByteArrayOutputStreamoutputstream=newByteArrayOutputStream();
byte[]str_b=newbyte[1024];
inti=-1;
while((i=(str_b))>0){
(str_b,0,i);
}
all_content=();
oString());
if(uc==null)
return0;
InputStreamins=();
byte[]str_b=newbyte[1024];
intbyteRead=0;
String[]images=("/");
Stringimagename=images[];
Filefwl=newFile(imagename);
FileOutputStreamfos=newFileOutputStream(fwl);
while((byteRead=(str_b))>0){
(str_b,0,byteRead);
};
();
();
}catch(Exceptione){
();
("获取网页内容出错");
}finally{
uc=null;
}
return1;
}
方法二:
首先把搜索后的页面用流读取出来,再写个正则,去除不要的内容,再把最后的结果存成xml格式文件、或者直接存入数据库,用的时候再调用
本代码只是显示html页的源码内容,如果需要抽取内容请自行改写publicstaticStringregex()中的正则式
packagerssTest;
import
import
import
import
import
import
import
import
import
import
import
publicclassMyRSS
{
/**
*获取搜索结果的html源码
**/
publicstaticStringgetHtmlSource(Stringurl)
{
StringBuffercodeBuffer=null;
BufferedReaderin=null;
try
{
URLConnectionuc=newURL(url).openConnection();
/**
*为了限制客户端不通过网页直接读取网页内容,就限制只能从浏览器提交请求.
*但是我们可以通过修改http头的User-Agent来伪装,这个代码就是这个作用
*
*/
("User-Agent",
"Mozilla/(compatible;MSIE;WindowsXP;DigExt)");
etInputStream(),"gb2312"));
codeBuffer=newStringBuffer();
StringtempCode="";
ppend("\n");
}
();
}
catch(MalformedURLExceptione)
{
();
}
catch(IOExceptione)
{
();
}
return();
}
/**
*正则表达式
**/
publicstaticStringregex()
{
StringgoogleRegex="
";
returngoogleRegex;
}
/**
*测试用
*在google中检索关键字,并抽取自己想要的内容
*
**/
publicstaticList
{
List
StringallHtmlSource=MyRSS
.getHtmlSource("&hl=zh-CN&newwindow=1&client=aff-os-maxthon&hs=SUZ&q=%E8%A7%81%E9%BE%99%E5%8D%B8%E7%94%B2&meta=&aq=f");
Patternpattern=(regex());
Matchermatcher=(allHtmlSource);
while())
{
StringurlLink=
(2);
Stringtitle=(4);
title=("
title=("","");
title=("...","");
Stringcontent=(6);
content=("
content=("","");
content=("...","");
(urlLink);
(title);
(content);
}
returnnewsList;
}
/**
*main方法
**/
publicstaticvoidmain(String[]args)
{
.println(MyRSS
.getHtmlSource(""));
}
}
方法三:
jsp自动抓取新闻自动抓取新闻
packageclassSpiderNewsServer{
publicstaticvoidmain(String[]args)throwsException{
oString();
"strNewsDetail====="+strNewsDetail);
if(strNewsDetail!
=null&&()>0){
WebHtmlnewsListHtml=newWebHtml();
StringhtmlDocuemtntCom=(strNewsDetail);
"$$$$$------"+htmlDocuemtntCom);
if(htmlDocuemtntCom==null||()==0){
return;
}
rim();
title=("
")+4,("
"));title=("'","");
title=(";","");
title=("","");
}
rim();
if("
")>0&&("
")>("")&&("
")>0)bodytext=("
")+3,("
"));bodytext=(" ","");
bodytext=("
","");
bodytext=("\n","
");
bodytext=("'","");
bodytext=(";","");
}
....";
else{
hometext=bodytext+"......";
}
+1,5);
Calendarcal=();
(newDate());
cdate=()+"";
cdate=(0,10);
}else{
continue;
}
}
"-------------------------"+title);
"-------------------------"+cdate);
"-------------------------"+cdate);
"-------------------------"+hometext);
"-------------------------"+bodytext);
"-------------------------"+keywords);
"-------------------------"+counter);
/*Stringstr="INSERTINTOecim_stories(uid,title,created,published,hostname,hometext,bodytext,keywords,counter,topicid,ihome,notifypub,story_type,topicdisplay,topicalign,comments,rating,votes,description)";
str+="VALUE(1,'"+title+"',"+cdate+","+cdate+",'','"+hometext+"','"+bodytext+"','"+keywords+"',"+counter+",1,0,1,'admin',0,'R',0,0,0,'')";
DBAccessdb=newDBAccess();;
if(str)>0){
"-------------------------成功!
!
!
!
!
!
!
!
!
!
");
}else{
"-------------------------失败!
!
!
!
!
!
!
!
!
!
");
}*/
}
/**
*抓取页面内容结束
********************/
}
}
packageclassWebHtml{
/**
*根据url,抓取webhmtl内容
*@paramurl
*/
publicStringgetWebHtml(Stringurl){
try{
URLmyURL=newURL(url);
URLConnectionconn=();
BufferedReaderreader=newBufferedReader(newInputStreamReader()));
Stringline=null;
StringBufferdocument=newStringBuffer("");
while((line=())!
=null){
(line+"\n");
}
();
StringresutlDocument=newString(document);
returnresutlDocument;
}catch(Exceptione){}
return"";
}
}
Java简易播放器
import.*;
import.*;
import.*;
import.*;
import.*;etClassName());
(this);
}
catch(Exceptione)
{
();
}*etSelected(true);
();
/*loopItem=newJCheckBoxMenuItem("是否循环");
(loopItem);
(newItemListener()
{
publicvoiditemStateChanged(ItemEvente)
{
loop=!
loop;
}
}
);*/
infor=newJMenuItem("软件简介");
(infor);
(this);
about=newJMenuItem("关于作者");
(this);
(about);
+());
+name,indexForDel);
}
catch(ReNamee2)etImage());quals(""))
(this,"错误的路径",
"出错了",;
String[]sFiles=();
for(inti=0;i<;i++)
{
(sFiles[i]);
(()+1)+"."+sFiles[i]);
()+"\\"+sFiles[i]);
}
(numList);
/*fd=newFileDialog;
(true);
if()!
=null)
{
FilefileDir=newFile());
String[]ss=();
for(inti=0;i<;i++)
{
}
}*/
}
privatevoidcreatePlayer()
{
closePreviosPlayer();+1)+"格式";
try
{
player=());sSelected())
{
if()==0)
return;
index=(int)()*());
}
if(buttonValues[1].isSelected())
{
if()==0)
return;sSelected())
{
(newTime(0));
();
}
createPlayer2();
}
}
}
privatevoidexity_n()
{
/*intexi;
exi=(this,"真的要离开么","退出程序",,
;
+vf);
(vf);
(()+1)+"."+vf);
+vf);
(title);
(numList);
oString();}
oString();
catch(ArrayIndexOutOfBoundsExceptione)
{return;}
file=newFile(title);
closePreviosPlayer();+1)+"格式";
try
{
player=());oString();
}
catch(Exceptione1){return;}
(index);
();
EnumerationenumFile=();
while())
{
(()+1)+"."+());
}
(index);
+1)+"格式,"
+"不过没有从硬盘真正删除");
if()!
=0)
{
index%=();
createPlayer2();
}
}
}
privatevoidsaveList()
{
EnumerationenumFile=();
EnumerationenumDir=();
try
{
output=newObjectOutputStream(newBufferedOutputStream(newFileOutputStream(listFile)));
while())
{
listWriteFile=newListValues().toString(),().toString());
(listWriteFile);
}
();
();
}
catch(Exceptione)
{
();
}
/*finally
{
();
();+());
());
}
}
catch(EOFExceptione)
{
try
{
xe"));
}
}*/
}
-----------------------------------------------------------------------
;
import.*;
classDialogDemoextendsJDialog
{
JTextAreafield;
Containerc;
StringsValue="\n本软件基于javamediaframework构建,同时我们"
+"\n正处于基础java学习阶段,所以功能还不是非常完"
+"\n善,难登大雅之堂。
"
+"\n\n\t功能简介:
"
+"\n本软件的播放清单文件保存在同目录下的"+"\""+""
+"\""+"文件"+"\n下,如果系统不存在此文件则第一次打开的时候软件"
+"\n会自动建立。
本软件能打开单个音乐文件或整个音乐"
+"\n目录,清单支持右键操作,当在列表中读取到不支持的"
+"\n文件时,此软件会自动把那个文件从清单清除,并另"
+"\n外播放一首歌。
不过此软件有个不足之处,就是当你更"
+"\n改了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 开发 项目 集锦 源码
![提示](https://static.bingdoc.com/images/bang_tan.gif)