我每天下載一個GZ文件,然後我需要解壓並將內容導入到我的數據庫表中。Coldfusion8 - 使用Coldfusion 8解壓縮GZ文件
我從Adobe Coldfusion Exchange發現CFX_Gzip.dll。任何人都知道我把DLL文件放在哪裏? 它可能會在CF8/lib /文件夾中,但我不確定。
我正在使用Coldfusion8。如果還有另一個gzip解壓縮器,我應該使用,如果有更近的那個,我會很高興。這個舊的,從寫它的人的網站現在不在了。沒有與它的文件。
我每天下載一個GZ文件,然後我需要解壓並將內容導入到我的數據庫表中。Coldfusion8 - 使用Coldfusion 8解壓縮GZ文件
我從Adobe Coldfusion Exchange發現CFX_Gzip.dll。任何人都知道我把DLL文件放在哪裏? 它可能會在CF8/lib /文件夾中,但我不確定。
我正在使用Coldfusion8。如果還有另一個gzip解壓縮器,我應該使用,如果有更近的那個,我會很高興。這個舊的,從寫它的人的網站現在不在了。沒有與它的文件。
可以使用一點Java來處理gzip格式 http://www.cflib.org/udf/gzip
可能不是最完美的解決方案,但似乎對我的簡單測試情況下工作:
<cfscript>
inputFile = "/tmp/test.txt.gz";
outputFile = "/tmp/test.txt";
ioInput = CreateObject("java","java.io.FileInputStream");
gzInput = CreateObject("java","java.util.zip.GZIPInputStream");
ioOutput = CreateObject("java","java.io.FileOutputStream");
ioInput.init(inputFile);
gzInput.init(ioInput);
ioOutput.init(outputFile);
line = 0;
buffer = RepeatString(" ", 1024).getBytes();
while (line GTE 0) {
ioOutput.write(buffer, 0, line);
line = gzInput.read(buffer);
}
gzInput.close();
ioInput.close();
ioOutput.close();
</cfscript>
感謝您的回覆。我最終使用了一個名爲CFX_GZIP的CFX。 – Robbiegod 2011-04-05 19:45:22
不需要一個DLL與CF8,使用現有的Java庫。看看CFLib或嘗試下面的代碼:
<cfscript>
try{
/* Set inoutput */
gzFileName = "myFile.gz";
outputFile = "mygzFiles";
/* Initialize gzip */
var outStream = CreateObject("java","java.io.FileOutputStream");
var inStream = CreateObject("java","java.io.FileInputStream");
var inGzipStream = CreateObject("java","java.util.zip.GZIPInputStream");
outStream.init(outputFile);
inStream.init(arguments.gzipFilePath);
inGzipStream.init(instance.ioInput);
while(l GTE 0){
outStream.write(buffer, 0, l);
l = inGzipStream.read(buffer);
}
/* Close the GZip file */
inGzipStream.close();
inStream.close();
outStream.ioOutput.close();
} catch(Any){}
</cfscript>
哎呀,忘了cflib。 – Sergii 2011-03-31 19:47:02
@Sergii - 這怎麼可能? ;) – Leigh 2011-03-31 19:56:44
很容易,這裏是晚上11點:) – Sergii 2011-03-31 20:31:33