KivaKit Parçacığı #3

Jan 02 2023
KivaKit hakkında daha fazla bilgi https://state-of-the-art.org/https://www.
kod

package com.telenav.kivakit.snippets;

import static com.telenav.kivakit.core.collections.list.ObjectList.list;
import static com.telenav.kivakit.core.collections.list.StringList.stringList;
import static com.telenav.kivakit.filesystem.File.file;
import static com.telenav.kivakit.filesystem.Folders.kivakitTemporaryFolder;
import static com.telenav.kivakit.resource.FileName.fileName;
import static com.telenav.kivakit.resource.compression.archive.ZipArchive.AccessMode.READ;
import static com.telenav.kivakit.resource.compression.archive.ZipArchive.AccessMode.WRITE;
import static com.telenav.kivakit.resource.compression.archive.ZipArchive.zipArchive;

public class Snippet3 extends BaseSnippet
{
    public static void main(String[] args)
    {
        new Snippet3().run();
    }

    @Override
    protected Object onSnippet()
    {
        var file = kivakitTemporaryFolder().file("output.zip");
        var result = stringList();

        try (var zip = zipArchive(this, file, WRITE))
        {
            zip.add(list(
                file("kivakit/pom.xml"),
                file("kivakit/README.md"),
                file("kivakit/.gitignore")
            ));
        }

        try (var zip = zipArchive(this, file, READ))
        {
            for (var entry : zip)
            {
                result.add(entry.toString());

                if (entry.fileName().equals(fileName(".gitignore")))
                {
                    result.add(entry.readText().trim());
                }
            }
        }

        return result.join("\n");
    }
}

      
                
Output
[ZipEntry createdAt = 2023.01.01_01.51PM_MT, fileName = .gitignore, lastModified = 2023.01.01_01.51PM_MT, sizeInBytes = 382 bytes] *.orig **/target/ **/tools/downloads/** tools/applications/** setup.properties **/build.properties **/.settings/ **/.classpath **/.project **/.idea/ **/*.iml **/*.eml **/*.ipr **/*.iws **/.includepath **/*.log **/*.ids **/.DS_Store **/*.class **/*.hprof **/dependency-reduced-pom.xml **/venv/ /venv/** /kivakit-internal/tests/kivakit-kyro-serialization-tests/nbproject/ nbproject/ [ZipEntry createdAt = 2023.01.01_01.51PM_MT, fileName = README.md, lastModified = 2023.01.01_01.51PM_MT, sizeInBytes = 19.3K] [ZipEntry createdAt = 2023.01.01_01.51PM_MT, fileName = pom.xml, lastModified = 2023.01.01_01.51PM_MT, sizeInBytes = 24.7K]

KivaKit hakkında daha fazla bilgi

https://state-of-the-art.org/
https://www.kivakit.org/

İlgili Makaleler

KivaKit Parçacığı #1
KivaKit Parçacığı #2

Gördüğünüz Çoğu Java'nın Gerçek Java Olmamasının Altı Nedeni
Neden Bir Ana Bilgisayar Bir Dizge Değildir ve Bir Bağlantı Noktası
Bir Tam Sayı Değildir Bir Tam Sayı Bir Sayı Değildir
Her Şey Böl ve Yönet