Estoy intentando escribir una aplicación cliente/servidor tcp simple que copie un archivo. Quiero que el servidor liste los archivos que el cliente puede copiar. Mi código hasta ahora es la siguiente:Obtener la ruta actual del archivo java que se está ejecutando
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());
}
}
}
Salida:
Current dir : C:\Users\XXXXX\Documents\NetBeansProjects\Test
.\build
.\build.xml
.\manifest.mf
.\nbproject
.\src
.\UsersXXXXXDocumentsNetBeansProjectsTestsrcfile2.txt
Mi problema es que me está dando el directorio padre en lugar del directorio actual. Mi GetFileList.java se encuentra en C:\Users\XXXXX\Documents\NetBeansProjects\Test\src
pero muestra C:\Users\Alick\Documents\NetBeansProjects\Test
¿Alguien me puede ayudar a solucionar esto?
¿Por qué razón el usuario final desea cargar los archivos que se encuentran en la aplicación de la propia ¿¡¿directorio?!? Ofréceles un 'JFileChooser' (que de forma predeterminada es' user.home') y déjalos que lo tomen desde allí. Por cierto, no seas tan mezquino con las sangrías de código y utiliza un sistema lógico y coherente. –