Tôi đang cố gắng viết ứng dụng khách/máy chủ tcp đơn giản sao chép tệp. Tôi muốn máy chủ liệt kê các tệp mà ứng dụng khách có thể sao chép. Mã của tôi cho đến nay là thế này:Nhận đường dẫn hiện tại của tệp java đang chạy
import java.io.*;
public class GetFileList
{
public static void main(String args[]) throws IOException{
File file = new File(".");
File[] files = file.listFiles();
System.out.println("Current dir : " + file.getCanonicalPath());
for (int fileInList = 0; fileInList < files.length; fileInList++)
{
System.out.println(files[fileInList].toString());
}
}
}
Output:
Current dir : C:\Users\XXXXX\Documents\NetBeansProjects\Test
.\build
.\build.xml
.\manifest.mf
.\nbproject
.\src
.\UsersXXXXXDocumentsNetBeansProjectsTestsrcfile2.txt
Vấn đề của tôi là nó đem lại cho tôi thư mục cha thay vì thư mục hiện hành. GetFileList.java của tôi nằm ở C:\Users\XXXXX\Documents\NetBeansProjects\Test\src
nhưng nó đang hiển thị C:\Users\Alick\Documents\NetBeansProjects\Test
Bất kỳ ai có thể giúp tôi khắc phục sự cố này không?
Tại sao trên trái đất sẽ cho người dùng cuối muốn tải lên tập tin có trong các ứng dụng của riêng danh mục?!? Cung cấp cho họ một 'JFileChooser' (mặc định là' user.home') và cho phép họ lấy nó từ đó. BTW - xin vui lòng không được quá sai với mã indents, và sử dụng một hệ thống hợp lý và nhất quán. –