Tôi đang cố gắng thêm phần mở rộng vào tên tập tin được chọn bởi JFileChooser
mặc dù tôi không thể làm cho nó hoạt động.Đổi tên tập tinĐể không hoạt động
Đây là mã:
final JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
String name =f.getAbsoluteFile()+".txt";
f.renameTo(new File(name));
FileWriter fstream;
try {
fstream = new FileWriter(f);
BufferedWriter out = new BufferedWriter(fstream);
out.write("test one");
out.close();
} catch (IOException ex) {
Logger.getLogger(AppCore.class.getName()).log(Level.SEVERE, null, ex);
}
}
Tôi không thể hiểu tại sao điều này không hoạt động. Tôi cũng đã thử sử dụng getPath() và getCanonicalPath() nhưng kết quả là như nhau. Tệp được tạo tại thư mục được chọn, mặc dù không có phần mở rộng ".txt".
có bạn kiểm tra kết quả từ 'renameTo 'Đây là từ tài liệu Java" Có hay không phương pháp này có thể di chuyển một tập tin từ một hệ thống tập tin này sang hệ thống tập tin khác phụ thuộc vào nền tảng. Giá trị trả về luôn luôn được kiểm tra để đảm bảo rằng hoạt động đổi tên thành công. " – twain249
Thời gian duy nhất nó hoạt động là khi tôi đặt tên tệp mới theo cách thủ công nhưng không bao gồm đường dẫn: "test.txt" .Tạo một txt chứa "test one" nhưng không có trong thư mục đã chọn – Giannis
Bạn có chắc chắn mục tiêu không tệp chưa tồn tại? –