⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmarkedcatalogs.java

📁 基于jxta的文件共享和聊天系统源代码,下载下来分析吧
💻 JAVA
字号:
/* * Created on 21-nov-2005 * *//** * @author magowiz * */package p2p_system;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.apache.xerces.dom.DocumentImpl;import org.apache.xml.serialize.OutputFormat;import org.apache.xml.serialize.XMLSerializer;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class BookmarkedCatalogs {		private File FCD=new File("fcdata.xml");	private Document doc;	private BookmarkedCatalogItem list;		private int catN;			public BookmarkedCatalogs()	{	  	  DocumentBuilder db = null;	  DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();		 try {	        db = dbf.newDocumentBuilder();	    } catch (ParserConfigurationException pce) {pce.printStackTrace();}	 if(!FCD.exists())  	 {	 	System.out.println("not exist");	 	catN=0;	 	doc= new DocumentImpl();	 	Element root = doc.createElement("fcdata");	 	doc.appendChild(root); 		FileOutputStream fos=null; 		try{ fos = new FileOutputStream(FCD);} 		catch(FileNotFoundException fnf){}	 		 		OutputFormat of = new OutputFormat("XML","ISO-8859-15",true); 		of.setIndent(1); 		XMLSerializer serializer = new XMLSerializer(fos,of); 		try{serializer.asDOMSerializer(); 		serializer.serialize( doc.getDocumentElement() ); 		fos.close();} 		catch(IOException ioe){}	 }	  	else{	  				 	try {doc = db.parse(FCD);} 		    catch (SAXException se){se.printStackTrace();} 		    catch (IOException ioe) {		        		ioe.printStackTrace();		        		System.exit(1);		    		}		    NodeList l = doc.getElementsByTagName("catalog");		    catN=l.getLength();		    for(int i=0;i<l.getLength();i++)		     {		       		       String cl=null;		       String cn=null;		       URL cu=null;		       Element e=(Element) l.item(i);		       NodeList childs=e.getChildNodes();		    			     	for(int j=0; j<childs.getLength();j++)		     	{		     			     	 if(childs.item(j).getNodeType()==Node.ELEMENT_NODE)		     	 {		     	 		     	  if(childs.item(j).getNodeName().equals("label"))		     	  {		     	  	cl=new String((childs.item(j).getFirstChild().getNodeValue().trim()));		     	  			     	  }		     	 if(childs.item(j).getNodeName().equals("name")) 		     	 {		     	 			     	 	cn=new String(childs.item(j).getFirstChild().getNodeValue());		     	 			     	 			     	 }		    	 if(childs.item(j).getNodeName().equals("url")) 		     	 {		     	 			     	 	try {cu=new URL(childs.item(j).getFirstChild().getNodeValue());}		     	 	catch(MalformedURLException mue){mue.printStackTrace();}		     	 			     	 }		     }		     	 		     	 		     	 	  	}		     			     	//System.out.println(cl);		     	 BookmarkedCatalogItem bci=new BookmarkedCatalogItem();			     	 bci.insert(cl,cn,cu);		     			     	 BookmarkedCatalogItem temp=list;		     	 if(temp==null)		     	 	list=bci;		     	 else		     	 {		     	 	while(temp.getNext()!=null)		     	 		temp=temp.getNext();		     	 	temp.setNext(bci);		     	 }		     	    }		     		     }	}	public BookmarkedCatalogItem getItem(int index)	{		BookmarkedCatalogItem r=null;		if (index<=catN)		{			r=list;			for(int i=0;i<index;i++)			{				r=r.getNext();			}		}		return r;	}		public void insert(BookmarkedCatalogItem bci)	{		if(!search(bci.getCatalogName()))			{				addListItem(bci);				addElementItem(bci);				save();			}	}		private boolean search(String cname)	{		boolean r=false;		BookmarkedCatalogItem bc=list;		while((bc!=null)&&(!bc.getCatalogName().equals(cname)))		{			bc=bc.getNext();		}		if(bc!=null)		{			r=true;		}				return r;	}		public boolean delete (String cn)	{	 boolean r;	 r=deleteListItem(cn);	 deleteElementItem(cn);	 if(r)save();	 return r;	}		private BookmarkedCatalogItem searchInList (String cn)	{	 boolean found=false;	 BookmarkedCatalogItem temp=list;	 if(temp.getCatalogName().equals(cn))	 {	 	found=true;	 }	 else{	 		while ((!found)&&(temp.getNext()!=null))	 		{	 			if(temp.getNext().getCatalogName().equals(cn))	 				{	 					found=true;	 						 				}	 			else	 				temp=temp.getNext();	 		}	 	}	 if (!found) temp=null;	 return temp;		}		private Node searchInDom(String cn)	{	 Node n=null;	 NodeList nl=doc.getElementsByTagName("name");	 int i=0;	 boolean found=false;	 while((i<nl.getLength())&&(!found))	 {	  Node temp=nl.item(i);	  if(temp.getFirstChild().getNodeValue().equals(cn))	  {	  	found=true;	  	n=nl.item(i).getParentNode();	  }	  i++;	 }	 return n;		}		private boolean deleteListItem(String cn)	{		boolean deleted=false;		BookmarkedCatalogItem p=searchInList(cn);		if((p!=null)&&(p.getNext()==null))		{			list=null;			deleted=true;		}		else if(p!=null){				BookmarkedCatalogItem x=p.getNext();								BookmarkedCatalogItem s=x.getNext();				if(x!=null)					{					deleted=true;					p.setNext(s);					}					}		return deleted;	}		private boolean deleteElementItem(String cn)	{		boolean deleted=false;		Node s=searchInDom(cn);		if (s!=null)		{		 deleted=true;		 NodeList nl=doc.getElementsByTagName("fcdata");		 Node r=nl.item(0);		 r.removeChild(s);		}		return deleted;	}		private void addListItem (BookmarkedCatalogItem bci)	{		BookmarkedCatalogItem temp=list;		if(list==null)			list=bci;		else{			while(temp.getNext()!=null)				temp=temp.getNext();			temp.setNext(bci);			}	}			private int addElementItem(BookmarkedCatalogItem bci)	{	 Node c=doc.createElement("catalog");	 NodeList nl=doc.getElementsByTagName("fcdata");	 Node r=nl.item(0);	 Node e=doc.createElement("label");	 Node t=doc.createTextNode(bci.getCatalogLabel());	 e.appendChild(t);	 c.appendChild(e);	 e=doc.createElement("name");	 t=doc.createTextNode(bci.getCatalogName());	 e.appendChild(t);	 c.appendChild(e);	 e=doc.createElement("url");	 t=doc.createTextNode(bci.getCatalogUrl().toString());	 e.appendChild(t);	 c.appendChild(e);	 	 r.appendChild(c);	 return 0;		}		private  boolean save()	{	 boolean s=true;	 try{	 	  //System.out.println("saving");	 	  Transformer transformer= TransformerFactory.newInstance().newTransformer();	 	  //String systemID=doc.getDoctype().getSystemId();	 	  //transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"prodotti.dtd");	 	  transformer.setOutputProperty(OutputKeys.METHOD,"xml");	 	  transformer.setOutputProperty(OutputKeys.INDENT,"yes");	 	  DOMSource source=new DOMSource(doc);	 	  FileOutputStream fos=new FileOutputStream(FCD);	 	  StreamResult result = new StreamResult (fos);	 	  transformer.transform(source,result);	  	}	 catch(TransformerConfigurationException tce){System.out.println("tce");return false;}		catch(TransformerException te){System.out.println("te");return false;}		catch(IOException ioe){System.out.println("ioe");return false;}	 return s;			}		public int getCatalogsNumber()	{		return this.catN;	}		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -