ASP.NET Tutorial/File Directory/DeflateStream

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Decompressing a file using DeflateStream (C#)

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.IO.rupression" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        string filename = Server.MapPath("Data.zip");
        FileStream infile = File.OpenRead(filename);
        DeflateStream deflateStream = new DeflateStream(infile, CompressionMode.Decompress);
        byte[] buffer = new byte[infile.Length + 100];
        int offset = 0;
        int totalCount = 0;
        while (true)
        {
            int bytesRead = deflateStream.Read(buffer, offset, 100);
            if (bytesRead == 0)
            { break; }
            offset += bytesRead;
            totalCount += bytesRead;
        }
        FileStream outfile = File.Create(Path.ChangeExtension(filename, "txt"));
        outfile.Write(buffer, 0, buffer.Length);
        outfile.Close();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>


Decompressing a file using DeflateStream (VB)

<%@ Page Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.IO.rupression" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim filename As String = Server.MapPath("Data.zip")
        Dim infile As FileStream = File.OpenRead(filename)
        Dim deflateStream As New DeflateStream(infile, CompressionMode.Decompress)
        Dim buffer(infile.Length + 100) As Byte
        Dim offset As Integer = 0
        Dim totalCount As Integer = 0
        While True
            Dim bytesRead As Integer = deflateStream.Read(buffer, offset, 100)
            If bytesRead = 0 Then
                Exit While
            End If
            offset += bytesRead
            totalCount += bytesRead
        End While
        Dim outfile As FileStream = File.Create(Path.ChangeExtension(filename, "txt"))
        outfile.Write(buffer, 0, buffer.Length)
        outfile.Close()
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>