windows8 壓縮

來源:互聯網
上載者:User
壓縮樣本示範了如何從檔案讀取資料和寫壓縮資料到一個新的檔案,以及如何讀和寫資料壓縮資料解壓到一個新檔案。具體地說,這個樣本顯示了以下內容:壓縮資料從一個現有•檔案並將其寫入一個新的檔案。•閱讀壓縮資料從檔案和壓縮。function data(compressAlgorithm) {
        var testObject = [1, 2, 3, "sampletext", { value: "sampleobject" }];

        try {
            //
            // NOTE: Read and write positions are shared when IInputStream and IOutputStream
            // are queried directly from IRandomAccessStream, so we need either rewind stream
            // before reading or get separate streams using getInput/OutputStreamAt
            //
            var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
            var compressor;

            //
            // It is safe to pass-through undefined value as compressAlgorithm in which case default algorithm (Xpress) will be used.
            // For the purposes of this sample both usages are shown.
            //
            if (typeof(compressAlgorithm) === "undefined") {
                //
                // If you don't have any specific algorithm requirements - this is recommended way to initialize Compressor object
                //
                compressor = new WinJS.Compressor(stream.getOutputStreamAt(0));
            } else {
                compressor = new WinJS.Compressor(stream.getOutputStreamAt(0), compressAlgorithm);
            }

            var decompressor = new WinJS.Decompressor(stream.getInputStreamAt(0));

            showProgress("Compressor object created");
            compressor.compressAsync(testObject).then(function () {
                showProgress("Test object compressed");
                compressor.close();
                return decompressor.readObjectAsync();
            }, onError).then(function (decompressedObject) {
                decompressor.close();
                showProgress("Test object decompressed: " + decompressedObject);
                if (JSON.stringify(testObject) === JSON.stringify(decompressedObject)) {
                    showProgress("Test object matches decompressed one");
                } else {
                    onError(new Error("Test object doesn't match decompressed one"));
                }
            }, onError);

            // Alternatively:
/*
            showProgress("Compressor object created");
            compressor.compressAsync(testObject).then(function () {
                showProgress("Test object compressed");
                decompressor.readObjectAsync().then(function (decompressedObject) {
                    showProgress("Test object decompressed: " + decompressedObject);
                    if (JSON.stringify(testObject) == JSON.stringify(decompressedObject)) {
                        showProgress("Test object matches decompressed one");
                    } else {
                        onError(new Error("Test object doesn't match decompressed one"));
                    }
                }, onError)
            }, onError);
*/
        } catch (e) {
            onError(e);
        }

    } 

 完整樣本:/Files/risk/windows8/壓縮sample.rar

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.