Help using KArchive with GZIP files
Albert Astals Cid
aacid at kde.org
Thu Nov 5 22:24:07 GMT 2020
El dimarts, 3 de novembre de 2020, a les 17:41:28 CET, Gabriel Domínguez Camarero va escriure:
> Hi,
>
>
>
> The first question " I have tried to do this but there some error that block me to open a file. I dont know if i am using correctly the class KCompressionDevice." is related with the code down bellow.
>
>
>
>
> auto kgzip = KCompressionDevice(QUrl(where.toString() + “/” + fileName + “.gz”).toLocalFile(), KCompressionDevice::GZip);
> assert(kgzip.isOpen() == true);
>
>
>
> kgzip.write(QString("hello World").toUtf8());
> kgzip.close();
Well the code above doesn't compile; you can't assign KCompressionDevice around.
Also if you don't open the device, it won't open itself.
So
#include <KCompressionDevice>
#include <QDebug>
int main(int argc, char *argv) {
KCompressionDevice kgzip("hola.gz", KCompressionDevice::GZip);
kgzip.open(QIODevice::WriteOnly);
qDebug() << kgzip.isOpen();
kgzip.write(QString("hello World").toUtf8());
kgzip.close();
}
This does compile and creates a hola.gz file with hello Worlds as its contents.
Cheers,
Albert
>
>
> El 02/11/2020 22:34 Albert Astals Cid <aacid at kde.org> escribió:
>
>
>
>
> El dilluns, 2 de novembre de 2020, a les 22:23:44 CET, Gabriel Domínguez Camarero va escriure:
> Hello I am gabridc,
> Hello Gabriel, this KDE Frameworks devel is for discussion around development *of* KDE Frameworks not *with* KDE Frameworks, your question belongs to kde-devel at kde.org
>
>
>
>
>
>
>
> I am a developer for Index-fm and we are trying to integrate KArchive in the file explorer, I have tried to do this but there some error that block me to open a file. I dont know if i am using correctly the class KCompressionDevice.
> Is this question related to the code down below? or different?
>
>
> Also, I would to ask another question because I would like to write a file inside my file.gz but in this case I dont have the function writeFile like KTar or KZip classes.
> You can't write a file *inside* a gz file, a gz is not multiple files, it's just one file (a .tar.gz is still just one gz file, it's the tar part that has multiple files).
>
>
> Cheers,
> Albert
>
>
>
>
>
>
> auto kgzip = KCompressionDevice(QUrl(where.toString() + “/” + fileName + “.gz”).toLocalFile(), KCompressionDevice::GZip);
> assert(kgzip.isOpen() == true);
>
>
>
>
> kgzip.write(QString("hello World").toUtf8());
> kgzip.close();
More information about the kde-devel
mailing list