1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
3 |
<head> |
4 |
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
5 |
<title>QuaZIP: QuaZip FAQ</title> |
6 |
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
7 |
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
8 |
</head> |
9 |
<body> |
10 |
<!-- Generated by Doxygen 1.7.4 --> |
11 |
<div id="top"> |
12 |
<div id="titlearea"> |
13 |
<table cellspacing="0" cellpadding="0"> |
14 |
<tbody> |
15 |
<tr style="height: 56px;"> |
16 |
<td style="padding-left: 0.5em;"> |
17 |
<div id="projectname">QuaZIP <span id="projectnumber">quazip-0-7-2</span></div> |
18 |
</td> |
19 |
</tr> |
20 |
</tbody> |
21 |
</table> |
22 |
</div> |
23 |
<div id="navrow1" class="tabs"> |
24 |
<ul class="tablist"> |
25 |
<li><a href="index.html"><span>Main Page</span></a></li> |
26 |
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
27 |
<li><a href="annotated.html"><span>Classes</span></a></li> |
28 |
<li><a href="files.html"><span>Files</span></a></li> |
29 |
<li><a href="dirs.html"><span>Directories</span></a></li> |
30 |
</ul> |
31 |
</div> |
32 |
</div> |
33 |
<div class="header"> |
34 |
<div class="headertitle"> |
35 |
<div class="title"><a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> FAQ </div> </div> |
36 |
</div> |
37 |
<div class="contents"> |
38 |
<div class="textblock"><p><a class="anchor" id="faq-non-QIODevice"></a> Q. Is there any way to use <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> in <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> where you are supposed to use normal (non-zipped) file, but not through <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> API?</p> |
39 |
<p>A. Usually not. For example, if you are passing file name to some database driver (like SQLite), <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> usually just passes this name down to the 3rd-party library, which is usually does not know anything about <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> and therefore there is no way to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as normal file. However, if we are talking about some place where you pass file name, and then indirectly use <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qfile.html">QFile</a> to open it, then it is a good idea to make overloaded method, which accepts a <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> pointer. Then you would be able to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as well as many other nice things such as <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qbuffer.html">QBuffer</a> or <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qprocess.html">QProcess</a>.</p> |
40 |
<p><a class="anchor" id="faq-zip64"></a> Q. Can QuaZIP handle files larger than 4GB? What about zip64 standard?</p> |
41 |
<p>A. Starting with version 0.6, QuaZIP uses Minizip 1.1 with zip64 support which should handle large files perfectly. The zip64 support in Minizip looks like it's not 100% conforming to the standard, but 3rd party tools seem to have no problem with the resulting archives.</p> |
42 |
<p><a class="anchor" id="faq-seekable"></a> Q. Can QuaZIP write archives to a sequential <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> like QTcpSocket?</p> |
43 |
<p>A. Not yet. It is not supported by vanilla Minizip (the back-end QuaZIP uses), although theoretically possible according to the ZIP standard. It would require some Minizip modifications that would allow it to detect non-seekable I/O and produce necessary output structures. QuaZIP already writes data descriptor which is necessary for non-seekable I/O. The only thing that is apparently left is to make Minizip fill local headers with correct values and forget about seeking after closing the file. </p> |
44 |
</div></div> |
45 |
<hr class="footer"/><address class="footer"><small>Generated on Sun Apr 3 2016 08:26:24 for QuaZIP by  |
46 |
<a href="http://www.doxygen.org/index.html"> |
47 |
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> |
48 |
</body> |
49 |
</html> |