Mozilla Firefox 的书签合并器





4.00/5 (3投票s)
2006年11月29日

36455

396
合并 Firefox 格式的多个文件中的书签。
引言
我找不到一个简单的工具来同步我在工作和家里的 Firefox 书签,所以最终我决定自己编写代码。
这段代码的功能并不多(也不复杂),但它在一定程度上解决了这个问题:程序读取 Firefox 的“bookmarks.html”文件,并将其视为一组节点。
使用代码
只需在 VS2005 或其他合适的工具中启动解决方案,主要引擎可以在 MozillaLinkMerger.cs 中的合并循环中找到。 确定要用作主文件的文件,以及要合并到主文件中的一些从属文件。不用担心,原始主文件会以不同的名称(GUID)保存。
public void Merge()
{
if (Stopped)
return;
//operation 1, read and parse master file
string[] masterFileLines =
System.IO.File.ReadAllLines(_masterLinksFilePath);
MozillaFile masterFile = new MozillaFile(masterFileLines);
IncrementProgress();
if (Stopped)
return;
//operation 2 - x, for each slave file read and parse links
//run through each slave file
foreach (string slaveFile in _slaveFiles)
{
string[] slaveFileLines =
System.IO.File.ReadAllLines(slaveFile);
MozillaFile slave = new MozillaFile(slaveFileLines);
masterFile.Merge(slave);
this.TotalNumberOfNewLinksFound =
masterFile.NumberOfNewLinksFound;
IncrementProgress();
if (Stopped)
return;
}
if (RemoveDuplicates)
{
masterFile.RemoveDuplicateLinks();
}
//finally operation x + 1, print file to disk
masterFile.Save(_mergedLinksFilepath);
_isDone = true;
IncrementProgress();
}
关注点
好吧,我尽量保持简单。 如果您熟悉正则表达式,您可能会找到更好的方法来识别 Firefox 书签中的链接和文件夹。 我不太喜欢写很多注释,所以希望代码能够自解释。