2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java sitemap_JAVA 针对 sitemap.xml 文件读写修改操作

java sitemap_JAVA 针对 sitemap.xml 文件读写修改操作

时间:2021-01-31 14:48:40

相关推荐

java sitemap_JAVA 针对 sitemap.xml 文件读写修改操作

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范,本文代码采用了UDP协议的转发器。

Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

XML标签,具体参数含义如下:changefreq:页面内容更新频率。

lastmod:页面最后修改时间

loc:页面永久链接地址

priority:相对于其他页面的优先权

url:相对于前4个标签的父标签

urlset:相对于前5个标签的父标签

废话不多说,JAVA 读写 sitemap.xml 文件具体代码如下:packagecom.yoodb;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.FileReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

importjava.io.RandomAccessFile;

publicclassReadWriteFile{

privatestaticStringpath="E://sitemap.xml";

privatestaticFilefileName=newFile(path);

privatestaticStringreadStr="";

/**

*@

*创建文本文件

*@throwsIOException

*/

publicstaticBooleancreatTxtFile()throwsIOException{

if(!fileName.exists()){

fileName.createNewFile();

returntrue;

}else{

returnfalse;

}

}

/**

*@

*读取文本文件

*@throwsIOException

*/

publicstaticStringreadTxtFile(){

Stringread;

FileReaderfileread;

BufferedReaderbufread;

try{

fileread=newFileReader(fileName);

bufread=newBufferedReader(fileread);

try{

while((read=bufread.readLine())!=null){

readStr=readStr+read+"\r\n";

}

bufread.close();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}catch(FileNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnreadStr;

}

/**

*@

*将文件中指定内容的第一行替换为其它内容

*@paramoldStr查找内容

*@paramreplaceStr替换内容

*/

publicstaticvoidreplaceTxtByStr(StringoldStr,StringreplaceStr){

Stringtemp="";

try{

Filefile=newFile(path);

FileInputStreamfis=newFileInputStream(file);

InputStreamReaderisr=newInputStreamReader(fis);

BufferedReaderbr=newBufferedReader(isr);

StringBufferbuf=newStringBuffer();

//保存该行前面的内容

while((temp=br.readLine())!=null&&!temp.equals(oldStr)){

buf=buf.append(temp);

//System.getProperty("line.separator")平台下行与行之间的分隔符相当于""

buf=buf.append(System.getProperty("line.separator"));

}

buf=buf.append(replaceStr);

while((temp=br.readLine())!=null){

buf=buf.append(System.getProperty("line.separator"));

buf=buf.append(temp);

}

br.close();

FileOutputStreamfos=newFileOutputStream(file);

PrintWriterpw=newPrintWriter(fos);

pw.write(buf.toString().toCharArray());

pw.flush();

pw.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

/**

*@

*读取本地文件内容并增加新内容文件

*@throwsIOException

*/

publicstaticvoidwriteTxtFile(StringnewStr){

Stringfilein=newStr+"\r\n"+readStr+"\r\n";

RandomAccessFilera=null;

try{

ra=newRandomAccessFile(fileName,"rw");

ra.write(filein.getBytes());

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

if(ra!=null){

try{

ra.close();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

}

为了保留传入的数据,在 sitemap.xml 原文件内容基础上增加新的内容,具体代码如下:packagecom.yoodb;

publicclassTestMain{

publicstaticvoidmain(String[]args){

StringBufferbuf=newStringBuffer();

buf.append("\r\n");

buf.append("/yoodb/article/detail/224\r\n");

buf.append("0.5\r\n");

buf.append("-09-28\r\n");

buf.append("daily\r\n");

buf.append("\r\n");

ReadWriteFile.replaceTxtByStr("",buf.toString()+"");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。