[JFilechooser] Lấy đường dẫn File trong Java | Tạo File mới

Viết chương trình lấy đường dẫn file trong java và cho phép người dùng khởi tạo một file mới với tên tùy chọn.

Xem thêm:

Mô tả yêu cầu

Đề bài: “Xây dựng một ứng dụng java có giao diện người dùng graphic, cho phép người dùng tạo một file với tên tùy chọn trong một thư mục tùy chọn. Ứng dụng sẽ thực hiện các công việc sau:

1. Người dùng có thể chọn thư mục mà họ muốn tạo file trong đó bằng cách nhấn vào nút ‘Open’. Đường dẫn đến thư mục được chọn sẽ được hiển thị trong một TextField.

2. Người dùng nhập tên tệp mà họ muốn tạo trong một TextField khác.

3. Khi người dùng nhấn nút ‘Create File’, ứng dụng sẽ kiểm tra xem tên file đã được nhập vào hay chưa và tệp tin có tồn tại không. Nếu chưa nhập tên file hoặc file đã tồn tại, ứng dụng sẽ thông báo cho người dùng. Trái lại nếu file chưa tồn tại, ứng dụng sẽ tạo file mới có tên như đã được nhập và hiển thị thông báo kết quả.

4. Nếu xảy ra bất kỳ lỗi nào trong quá trình tạo file, một thông báo lỗi sẽ xuất hiện.

Video hướng dẫn:

Class lấy đường dẫn file trong java

private void btnOpenActionPerformed(java.awt.event.ActionEvent evt) {                                        
    
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int result = fileChooser.showOpenDialog(this);
    if(result == JFileChooser.APPROVE_OPTION){
        String path = fileChooser.getSelectedFile().getAbsolutePath();
        txtFolder.setText(path);
    }
}

Giải thích code:

  • JFileChooser fileChooser = new JFileChooser();: Tạo một đối tượng JFileChooser, một hộp thoại cho phép người dùng chọn file hoặc thư mục từ hệ thống tệp.
  • fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);: Thiết lập chế độ lựa chọn chỉ cho thư mục. Điều này đảm bảo rằng người dùng chỉ có thể chọn thư mục, không phải tệp.
  • int result = fileChooser.showOpenDialog(this);: Hiển thị hộp thoại mở tệp và đợi cho đến khi người dùng chọn một thư mục hoặc đóng hộp thoại. Kết quả của việc này được lưu trữ trong biến result.
  • if(result == JFileChooser.APPROVE_OPTION): Kiểm tra xem người dùng đã chọn một thư mục (hoặc file) hay không bằng cách so sánh giá trị result với JFileChooser.APPROVE_OPTION. Nếu điều này đúng, có nghĩa là người dùng đã chọn một thư mục.
  • String path = fileChooser.getSelectedFile().getAbsolutePath();: Lấy đường dẫn tuyệt đối của thư mục mà người dùng đã chọn và lưu nó vào biến path.

Tạo file mới trong java

private void btnCreateFileActionPerformed(java.awt.event.ActionEvent evt) {                                              
    String path = txtFolder.getText() + "/" + txtFileName.getText();
    File myFile = new File(path);
    
    if(txtFileName.getText().trim().length() == 0){
        JOptionPane.showMessageDialog(this, "Chua nhap ten File");
        return;
    }
    
    if(myFile.exists()){
        JOptionPane.showMessageDialog(this, "Tap tin da ton tai");
    }else{
        try {
            myFile.createNewFile();
            JOptionPane.showMessageDialog(this, "Tao file thanh cong");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Khong the tao file");
        }
    }
}

Giải thích code:

  • String path = txtFolder.getText() + "/" + txtFileName.getText();: Lấy đường dẫn thư mục từ thành phần văn bản txtFolder và tên tệp từ thành phần văn bản txtFileName, sau đó nối chúng để tạo ra đường dẫn đầy đủ cho tệp mới.
  • File myFile = new File(path);: Tạo một đối tượng File với đường dẫn vừa được tạo ra.
  • if(txtFileName.getText().trim().length() == 0): Kiểm tra xem người dùng đã nhập tên tệp hay chưa bằng cách xem chiều dài của chuỗi tên tệp sau khi loại bỏ các khoảng trắng ở đầu và cuối (trim()). Nếu chiều dài là 0, tức là không có tên tệp được nhập, hiển thị một hộp thoại thông báo và thoát khỏi phương thức.
  • if(myFile.exists()): Kiểm tra xem tệp đã tồn tại hay chưa. Nếu tệp đã tồn tại, hiển thị một hộp thoại thông báo thông báo rằng tệp đã tồn tại.

Source code:

Trên đây là cách lấy đường dẫn file trong java và tạo một file trong thư mục. Cảm ơn bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.

Bài viết liên quan: đọc lưu file danh sách học sinh java

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em