diff --git a/src/main/java/cn/minbrowser/model/Bookmark.java b/src/main/java/cn/minbrowser/model/Bookmark.java new file mode 100644 index 0000000..4fbc102 --- /dev/null +++ b/src/main/java/cn/minbrowser/model/Bookmark.java @@ -0,0 +1,71 @@ +package cn.minbrowser.model; + +/* + * @author wefree + */ + +import java.util.ArrayList; +import java.util.List; + +/** + * 存储所有标签数据 + */ +public class Bookmark { + /** + * 存储所有标签页数据 + */ + private List bookmarks = new ArrayList<>(); + + /** + * 获取所有标签页数据 + * @return + */ + public List getBookmarks() { + return bookmarks; + } + + public void setBookmarks(List bookmarks) { + this.bookmarks = bookmarks; + } + + /** + * 放入一个新的标签页 + * @param name + * @param url + */ + public void addOneBookmark(String name, String url) { + bookmarks.add(new BookmarkModel(name, url)); + } + public void addOneBookmark(BookmarkModel bookmarkModel){ + bookmarks.add(bookmarkModel); + } + + /** + * 存储单个标签页数据 + */ + public static class BookmarkModel { + String name; + String url; + + public BookmarkModel(String name, String url) { + this.name = name; + this.url = url; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return this.url; + } + + public void setUrl(String url) { + this.url = url; + } + } +} diff --git a/src/main/java/cn/minbrowser/util/BookMarkUtil.java b/src/main/java/cn/minbrowser/util/BookMarkUtil.java new file mode 100644 index 0000000..fb138b0 --- /dev/null +++ b/src/main/java/cn/minbrowser/util/BookMarkUtil.java @@ -0,0 +1,132 @@ +package cn.minbrowser.util; + +/* + * @author wefree + */ +import cn.minbrowser.model.Bookmark; + +import java.io.*; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * 书签管理支持类 + */ +public class BookMarkUtil { + + // 书签数据保存到的地址 + public static String bookmarksFilePath=SettingPropertyUtil.settingPath +"BookmarksData"; + + /** + * 从本地文件中读取所有标签页数据 + */ + private static Bookmark readBookMarks(){ + Bookmark bookmark=new Bookmark(); + try { + FileInputStream inputStream = new FileInputStream(bookmarksFilePath); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); + + String str; + while((str = bufferedReader.readLine()) != null) + { + System.out.println("要解析的标签页数据:"+str); + bookmark.addOneBookmark(readOneBookMark(str)); + } + + //close + inputStream.close(); + bufferedReader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return bookmark; + } + + /** + * 从字符串中解析一条标签页数据 + */ + private static Bookmark.BookmarkModel readOneBookMark(String bookmarkString){ + String [] arr = bookmarkString.split("\\s+"); + return new Bookmark.BookmarkModel(arr[0],arr[1]); + } + + /** + * 将所有标签页数据覆盖性写入原文件 + * @return + */ + private static void saveWholeBookmarks(Bookmark bookmark){ + List bookmarks=bookmark.getBookmarks(); + for(int i=0;i bookmarks=bookmark.getBookmarks(); + for(int i=0;i bookmarks=bookmark.getBookmarks(); + for(int i=0;i