How to: convert asciidoc book to epub/mobi formats

Many open source books are written in asciidoc, in order to read the book in kindle, I have to convert it to mobi file. Here’s a quick note on how to convert files.

  1. Use asciidoctor to convert asciidoc book to docbook
  2. Use pandoc to convert to epub
  3. Use Calibre to convert epub to mobi
asciidoctor -d book -b docbook5 book.asciidoc -o output.docbook
pandoc -f docbook -t epub output.docbook -o book.epub

Then use Calibre to convert epub to mobi files

通过流的方式处理文件压缩,加解密,签名

问题背景介绍

最近的项目需要进行很多的文件处理,因此就有了大量的IO操作。有的地方是先解密,再加密,有的是压缩,加密,再签名,最主要的是所有的非加密文件都需要安全删除,先填充一遍0,再把文件删除。

初始解决方案和问题

开始时我们使用文件来存储处理过程中的临时数据,以文件更换密码为例,需要进行如下处理:

  1. 解密原来的加密文件,写到一个临时文件
  2. 读取解密的临时文件,加密写到最终文件
  3. 将临时文件填充0,并删除

示例代码如下:

FileEncryptor.decrypt(originalEncryptedFile, tempFile);
FileEncryptor.encrypt(tempFile, resultEncryptedFile);
FileEraser.safeErase(tempFile);

这个过程中的IO操作如下图所示: Continue reading “通过流的方式处理文件压缩,加解密,签名”