DolphinDB的zlib插件,支持文件到文件的zlib压缩与解压缩。
zlib插件目前支持版本:relsease200, release130, release120, release110。您当前查看的插件版本为release200,请使用DolphinDB 2.00.X版本server。若使用其它版本server,请切换至相应插件分支。
注意首先需要构建zlib,插件静态链接libz.a,在编译libz.a时编译参数需要加上-fPIC
cd zlib
g++ -DLINUX -std=c++11 -fPIC -c src/ZlibImpl.cpp -I../include -o ZlibImpl.o
g++ -fPIC -shared -o libPluginZlib.so ZlibImpl.o -Wl,-Bstatic -L/path/to/libz.a -lz -Wl,-Bdynamic -lDolphinDB
也可以使用CMake编译
cd zlib
cmake ..
make
编译之后目录下会产生libPluginZlib.so文件
//loadPlugin
loadPlugin("path/to/DolphinDBPlugin/zlib/PluginZlib.txt");
目前支持的函数
-
compressFile
-
args
inputFileName
, stringlevel
(optional), range[-1, 9], default is -1(currently equivalent to level 6), 1 gives best speed, 9 gives best compression, 0 gives no compression
-
return
- inputFileName, add a suffix
.gz
.
- inputFileName, add a suffix
-
e.g.
//loadPlugin zlib::compressFile("/home/jccai/data.txt"); //会将/home/jccai/data.txt压缩为/home/jccai/data.txt.gz //注意若输出文件有同名文件,则会被覆盖
-
-
decompressFile
-
args
inputFileName
, string, should end up with.gz
-
return
- inputFileName, remove the suffix
.gz
.
- inputFileName, remove the suffix
-
e.g.
//loadPlugin zlib::decompressFile("/home/jccai/data.txt.gz"); //会将/home/jccai/data.txt.gz解压为/home/jccai/data.txt //注意若输出文件有同名文件,则会被覆盖
-
-
createZlibInputStream
内部调用,不开放给客户-
args
inputFileName
, string, should end up with.gz
-
return
-
DataInputStreamSP
internalStreamRead
internalClose
internalMoveToPosition
is not supported
-
-
e.g.
-
If arguments are wrong, throw IllegalArgumentException
.
If any other errors occur, throw IOException
.
- 新增支持压缩同一个文件下的所有文件。(2.00.10)
- 优化了部分报错信息。(2.00.10)