Zip und Unzip classe von Trolltech
Verfasst: 17. September 2008 09:35
Seit QT 4.5 gibt es zip und unzip im QT source ich habe das ganze in einen namenspace gekapselt so kann man es auch fuer 4.0 , 4.4 gebrauchen getested auf 4.4.1
um die file zu lesen
um zip zu schreiben im header GZipWriter.h shauen
Ich musste das machen um den OpenDocument reader zu machen... info:
http://www.qt-apps.org/content/show.php ... tent=80650
Naturlich wenn man 4.5 braucht sind die file nicht noetig.
http://fop-miniscribus.googlecode.com/s ... s/GZip.cpp
http://fop-miniscribus.googlecode.com/s ... ipReader.h
http://fop-miniscribus.googlecode.com/s ... ipWriter.h
um die file zu lesen
Code: Alles auswählen
/* file name and path , his data */
QMap<QString,QByteArray> unzipstream( const QString file )
{
/*
#include "GZipWriter.h"
#include "GZipReader.h"
*/
QMap<QString,QByteArray> ooFile;
CZIP::QZipReader unzip(file,QIODevice::ReadOnly);
QList<CZIP::QZipReader::FileInfo> list = unzip.fileInfoList();
CZIP::QZipReader::FileInfo fi;
if (list.size() > 0 && unzip.exists()) {
for (int l = 0; l < list.size(); l++)
{
fi = list.at(l);
if (fi.size > 0) {
ooFile.insert(fi.filePath,unzip.fileData(fi.filePath));
}
}
unzip.close();
}
return ooFile;
/* usage
QString txtlog;
QMap<QString,QByteArray> filist = unzipstream("giallo.odt");
QMapIterator<QString,QByteArray> i(filist);
while (i.hasNext()) {
i.next();
qDebug() << "### name---------- " << i.key();
txtlog.append(i.key());
}
QByteArray base = filist["content.xml"];
if (base.size() > 0) {
txtlog.append(QString(base));
}
*/
}
Ich musste das machen um den OpenDocument reader zu machen... info:
http://www.qt-apps.org/content/show.php ... tent=80650
Naturlich wenn man 4.5 braucht sind die file nicht noetig.
http://fop-miniscribus.googlecode.com/s ... s/GZip.cpp
http://fop-miniscribus.googlecode.com/s ... ipReader.h
http://fop-miniscribus.googlecode.com/s ... ipWriter.h