IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình Java Core nâng cao

Exception & Collection

[Video] Tìm hiểu exception + debug + package - lập trình Java Nâng Cao [Video] Tìm hiểu collections, Sets, Maps và Generic - lập trình java nâng cao [Video] Chương trình quản lý sinh viên bằng HashMap - Java Advanced

File

[Video] Hướng dẫn đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream trong java - lập trình java nâng cao [Video] Bài tập quản lý sách & lưu thông tin trên Files [Video] File - Quản lý thông tin sinh viên [Video] Quản lý thông tin sinh & lưu object file - Java nâng cao [Video] Viết ứng dụng WinRar | WinZip | 7Zip bằng Java - Nén file Java & giải nén file Java - Khoá học Java [Video] Bài tập quản lý bán vé máy bay - java nâng cao

Thread

[Video] Phân tích quản lý ứng dụng trong HĐH (Window, Mac, Linux)-Phân tích Game đa luồng Java [Video] Tìm hiểu Thread - Đồng bộ Thread - lập trình java nâng cao - Bổ sung thêm lớp học mới. [Video] Giải thích synchronized + Lap trinh Java nang cao [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - Phần 1 [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự & Đông bộ thread + wait notify + synchronized + Java nâng cao - Phần 2 [Video] Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao [Video] Bài tập ôn luyện tổng hợp File, OOP, Thread trong java [Video] Sử dụng MultiThreading sinh ký tự a-zA-Z trong java

CSDL

[Video] Kết nối MySQL trong java swing JDBC trong java - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 1 - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 2 - lập trình java nâng cao [Video] Chương trình quản lý thư viện Java + XML Java + CSDL Java- SQL Java [Video] Phần mềm quản lý sinh viên MySQL + Java - Chương trình quản lý sinh viên MySQL + Java - Lập Trình Java [Video] Bài Tập Quản Lý Sinh Viên - CSDL - Java Swing [Video] Chương trình quản lý sản phẩm - quản lý tin tức - quản lý bán hàng - Lập trình Java [Video] Chức năng register & login + CSDL - Lập trình Java nâng cao - Phần 1 [Video] Hướng dẫn sử dụng Persistence Java - Kết nối database Java - MySQL Java nâng cao

Design Pattern & Đa Ngôn Ngữ

[Video] Design Pattern lập trình java nâng cao - lập trình java nâng cao

XML & JSON & CSDL

[Video] C1 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java [Video] C2 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java

Ôn Tập Tổng Quát & Exmination

[Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 1 [Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 2




Trang Chủ Java Advanced Bài tập nén File & giải nén File & Liệt kê files trong 1 thư mục - winrar - winzip

Bài tập nén File & giải nén File & Liệt kê files trong 1 thư mục - winrar - winzip

by GokiSoft.com - 10:11 09/09/2021 12,464 Lượt Xem

Bài 1 :

Tìm 1 file text có kích cỡ lớn sau đó nén dữ liệu vào 1 file khác đặt tên là : vidu.data & Viết giải thuật giải nén file.

Bài 2:

Liệt kê tất cả các file trong 1 thư mục -> Vẽ cấu trúc cây folder

Ví dụ: Nhập vào folder tên là ABC -> Kết quả sẽ như sau

ABC

-- a.txt

-- b.txt

-- AB

---- bb.txt

---- BB

------ cc.png

------ dd.jpg

-- k.doc

Bình luận



Chia sẻ từ lớp học

trung [C1907L]

Ngày viết: 16:27 03/05/2020



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package infdef;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.DeflaterInputStream;
import java.util.zip.InflaterInputStream;
import java.util.zip.InflaterOutputStream;

/**
 *
 * @author prdox
 */
public class Main {
    public static void main(String[] args) {
        String str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis accumsan turpis sed ipsum tincidunt, et vulputate nisi viverra. Aliquam a cursus ligula. Duis luctus nunc nisl. Etiam sit amet porta nibh. Duis commodo dolor nec euismod commodo. Morbi lobortis tortor quis odio laoreet dapibus. Quisque nibh velit, ullamcorper a ornare at, egestas sit amet felis. Quisque aliquam ultricies augue, et iaculis leo molestie eu. Nullam a gravida urna, sed blandit ex. Cras a rutrum tellus. Donec nunc sem, aliquam nec ex sit amet, malesuada placerat lorem. Maecenas sit amet ligula odio. Maecenas dignissim bibendum dui a gravida. Praesent suscipit tincidunt ligula, eu sodales mauris vestibulum id. Vivamus accumsan nibh orci, hendrerit placerat enim porttitor a. Pellentesque finibus gravida ante luctus pulvinar.\n"
                + "\n"
                + "Aliquam nec sapien quis ante iaculis ultrices dignissim sed magna. Vivamus dolor turpis, suscipit vitae eros sed, eleifend lobortis est. Aenean quam augue, consequat quis justo ac, vehicula porta quam. Maecenas convallis mi sit amet varius maximus. Sed lacinia diam nulla, eget mollis enim tristique quis. Vestibulum viverra rutrum nulla, id gravida dui lacinia et. Quisque mattis turpis sit amet varius rhoncus. Aliquam id mi id metus lobortis dignissim. Aenean in elementum ante. Nulla lacinia purus a arcu auctor feugiat. Nulla lacinia lorem at dolor luctus, at iaculis sapien maximus. Vivamus vel purus non orci tempor commodo. Praesent tristique eros vel mi bibendum varius. Vivamus placerat, diam ut porttitor sagittis, est mauris ornare mi, non ultricies nisl odio non justo. Nulla sollicitudin turpis ut nibh sagittis eleifend. Nunc rutrum diam vel tellus congue tempor.\n"
                + "\n"
                + "Praesent egestas magna vitae sem dapibus pretium. Donec vel pretium erat, nec maximus ante. Donec dictum fringilla ex, ut iaculis velit pharetra tristique. Cras rhoncus, dolor vitae aliquet porta, magna nisi vulputate ipsum, eu consectetur mauris orci sodales dui. In maximus sagittis rutrum. Nunc vulputate sapien quis nisi sodales, vitae lobortis enim molestie. Morbi eget finibus dolor. Sed lectus ligula, lacinia sit amet ullamcorper eget, efficitur sed mauris. Pellentesque congue finibus tellus, vel maximus est vehicula a. Aliquam eget rutrum dui. Phasellus porttitor fermentum ligula blandit dapibus. Praesent tristique facilisis vehicula. Nulla ut dictum sem, sed luctus est. Phasellus lacinia condimentum urna at gravida. Suspendisse potenti. Vestibulum scelerisque porttitor feugiat.\n"
                + "\n"
                + "Nunc feugiat pharetra ex at congue. Etiam eget velit libero. Mauris scelerisque et nisi et lobortis. Phasellus hendrerit tortor non tristique volutpat. Pellentesque non nibh id lorem suscipit sagittis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis vitae consectetur neque.\n"
                + "\n"
                + "Maecenas dui nisl, mattis eget mattis quis, suscipit ac risus. Donec dictum ligula in libero porta pulvinar. Sed consequat erat quis lacus bibendum consequat. Nam interdum, ante sed condimentum dignissim, erat urna imperdiet magna, at ornare elit nisl ut sapien. Proin sed arcu suscipit, mollis nisl eget, elementum diam. Donec bibendum, elit eu lacinia dignissim, mauris turpis convallis eros, sit amet tempor nisl tortor ac sem. In hac habitasse platea dictumst. Aenean eget ultricies mauris. Maecenas nec hendrerit nisi. Duis sed posuere eros, in bibendum odio. Proin id vulputate diam, vitae fermentum turpis. Etiam vel urna at elit ullamcorper suscipit id ac risus. ";
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream("longString.txt");
            byte[] b = str.getBytes();
            fos.write(b);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                if (fos != null) fos.close();
            } catch (IOException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
        //Deflate file -> vidu.data
        FileInputStream fis = null;
        DeflaterInputStream dis = null;
        fos = null;
        try {
            fis = new FileInputStream("longString.txt");
            dis = new DeflaterInputStream(fis);
            fos = new FileOutputStream("vidu.data");
            int code;
            while ((code = dis.read()) != -1){
                fos.write(code);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            if (dis != null) {
                try {
                    dis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        
        //Inflate file -> vidu.data
        fis = null;
        InflaterOutputStream ios = null;
        fos = null;
        try {
            fis = new FileInputStream("vidu.data");
            fos = new FileOutputStream("extract_vidu.txt");
            ios = new InflaterOutputStream(fos);
            int code;
            while ((code = fis.read()) != -1){
                ios.write(code);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            if (ios != null) {
                try {
                    dis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package file;

import java.io.File;
import java.nio.file.Path;
import java.util.Scanner;

/**
 *
 * @author prdox
 */
public class listFile {

    public static void main(String[] args) {
        String folderName;
        Scanner inp = new Scanner(System.in);
        System.out.println("Nhap vao ten folder");
        folderName = inp.nextLine();
        File folder = new File(folderName);
        if (!folder.exists() || !folder.isDirectory()) {
            System.out.println("Folder does not exist");
            return;
        }
        
        File[] listFiles = folder.listFiles();
        for (File f : listFiles) {
            if (f.isFile()) System.out.println(f.getAbsolutePath());
        }
    }
}


Tài Liệu Tham Khảo

Đã sao chép!!!