简单的文件读写提取firefox标签json数据

由于编写shell脚本误操作,rm -rf本机的用户文件,导致浏览器书签,缓存,SSH缓存等丢失,泪奔啊~ 找回firefox书签文件,看着头大,写个小程序转换了下

/**
 *
 * Copyright 2010 boosj.com, Inc. All rights reserved.
 */
package com.boosj.cache.dbutils;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class FileUtils {

	public BufferedReader bufread;
    public BufferedWriter bufwriter;
    File writefile;
    String filepath,filecontent,read;
    String readStr="";
   
    public String readfile(String path)  //从文本文件中读取内容 
    {
     try
     {
     filepath=path;                      //得到文本文件的路径
     File file=new File(filepath);
     FileReader fileread=new FileReader(file);
     bufread=new BufferedReader(fileread);
     while((read=bufread.readLine())!=null)
     {
       readStr=readStr+read;
     }
     }catch(Exception d){System.out.println(d.getMessage());}
     return readStr;    //返回从文本文件中读取内容
    }
                     //向文本文件中写入内容
public void writefile(String path,String content,boolean append)    
    {
     try
     {
      boolean addStr=append; //通过这个对象来判断是否向文本文件中追加内容
      filepath=path;       //得到文本文件的路径
      filecontent=content; //需要写入的内容
      writefile=new File(filepath);
      if(writefile.exists()==false)    //如果文本文件不存在则创建它
      {
          writefile.createNewFile();   
          writefile=new File(filepath);  //重新实例化
      }
      FileWriter filewriter=new FileWriter(writefile,addStr);
      bufwriter=new BufferedWriter(filewriter);
      filewriter.write(filecontent);
      filewriter.flush();
     }catch(Exception d){System.out.println(d.getMessage());}
    }
public static String getFirstContent(String src, Pattern pattern, int index) {
	String result = "";
	Matcher m = pattern.matcher(src);
	if (m.find()) {
		result = m.group(index);
	}
	return result;
}
public static void main(String[] args) {
	String path = "/home/joy/.mozilla/firefox/eempvary.default/bookmarkbackups/bookmarks-2010-11-10.json";
	FileUtils fu = new FileUtils();
	String content = fu.readfile(path);
	String[]  s= content.split("title");
	String targetPath = "/home/joy/workspace/bookmark.txt";
	
	Pattern TITLE_PATTERN = Pattern.compile("\":\"([\\s\\S]*?)\",\"id\"");
	Pattern URL_PATTERN = Pattern.compile("\"uri\":([\\s\\S]*?)\",\"charset\"");
	
	for (String ss :s) {
		String stitle = fu.getFirstContent(ss, TITLE_PATTERN, 1);
		System.out.println(stitle);
		String surl = fu.getFirstContent(ss, URL_PATTERN, 1);
		System.out.println(surl);
		fu.writefile(targetPath, stitle+"||"+surl+"\r\n", true);
	}
}

}








你可能感兴趣的:(java,json,ssh,脚本,firefox)