我正在嘗試編寫一個簡單的tcp客戶機/服務器應用程序來複制文件。我想要服務器列出客戶端可以複製的文件。到目前爲止我的代碼是這樣的:獲取正在運行的java文件的當前路徑
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());
}
}
}
輸出:
Current dir : C:\Users\XXXXX\Documents\NetBeansProjects\Test
.\build
.\build.xml
.\manifest.mf
.\nbproject
.\src
.\UsersXXXXXDocumentsNetBeansProjectsTestsrcfile2.txt
我的問題是,它給我的父目錄,而不是當前目錄。我的GetFileList.java位於C:\Users\XXXXX\Documents\NetBeansProjects\Test\src
,但它顯示C:\Users\Alick\Documents\NetBeansProjects\Test
任何人都可以幫我解決這個問題嗎?
到底爲什麼最終用戶要上傳的應用程序自己的文件目錄?!?爲他們提供'JFileChooser' (默認爲'user.home'),讓他們從那裏拿走它。順便說一句 - 請不要因代碼縮進而吝嗇,並使用合乎邏輯的一致系統。 – 2012-02-05 10:29:52