Estoy haciendo un navegador de archivos básico, y quiero saber cómo obtener el directorio raíz predeterminado. Sé que java.io.File.listRoots()
da todas las raíces (para mí es A:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\
), pero quiero la que el usuario usa principalmente (es decir, la que tiene el sistema operativo), así sé de dónde comenzar la navegación.Obtener el directorio raíz predeterminado en Java
Respuesta
Conseguir la partición raíz del sistema operativo es sólo una cosa en Windows
desde el Unix
siempre es /
.
Por lo tanto, el código siguiente funciona sólo Windows
:
System.getenv("SystemDrive");
Se pone el valor de la variable de entorno SystemDrive
. Esto siempre debe devolver la partición raíz del sistema operativo, p. C:
.
No estoy seguro si esto es de alguna ayuda, pero usted podría intentar:
import javax.swing.filechooser.*;
FileSystemView.getFileSystemView().getRoots()[0];
o
FileSystemView.getFileSystemView().getHomeDirectory();
o
System.getProperty("user.dir");
Para el último fragmento, se puede obtener la directorio raíz navegando hacia arriba usando getParent() hasta que se devuelva null
.
public static String rootDirectory(){
return File.listRoots()[0].getAbsolutePath();
}
¿está garantizado que no será, por ejemplo, la unidad 'A' en Windows si tengo una unidad de disquete conectada? – Supuhstar
@Supuhstar, acabo de hacer una prueba, y la respuesta es no. En Windows, devuelve la lista de raíces en orden alfabético, por lo que "A: \" es lo primero. Además, de acuerdo con los documentos (https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listRoots()): "Una plataforma Java particular puede admitir cero o más sistemas de archivos organizados jerárquicamente ". En otras palabras, el índice cero de desreferenciación 0 puede causar una ArrayIndexOutOfBoundsException. Esta respuesta no es completamente multiplataforma y no es confiable. –
- 1. Cómo obtener el directorio raíz en PHP
- 2. obtener el directorio raíz de scons
- 3. ¿Cómo obtener el directorio raíz de CakePHP?
- 4. hg - Ignorar directorio en el directorio raíz
- 5. Obtener el directorio raíz en la aplicación ASP Classic
- 6. .NET Process.Start directorio predeterminado?
- 7. Diseño de directorio predeterminado para el proyecto Java
- 8. Obtener directorio raíz Ruta de un proyecto PHP
- 9. ¿Cómo incluir stdafx.h desde el directorio raíz?
- 10. Cómo encontrar el directorio raíz de Joomla
- 11. django: ¿cómo poner un archivo estático en el directorio raíz?
- 12. Cómo obtener el Root raíz
- 13. ¿Qué es un directorio raíz?
- 14. Match jetty url-pattern solo en el directorio raíz
- 15. obtener el directorio padre en MSBuild
- 16. Rails ¿Ruta del directorio raíz?
- 17. directorio predeterminado Rails irb
- 18. Cómo obtener atributos de nodo raíz en java
- 19. ¿Dónde está el directorio raíz del servidor web en WAMP?
- 20. Establezca el directorio predeterminado en el terminal mac
- 21. ¿Cómo obtener el WebApplicationContext predeterminado?
- 22. Redirigir default.aspx al directorio virtual raíz
- 23. Obtener directorio de inicio en Linux, C++
- 24. Cómo eliminar el enlace 'Directorio principal' de la carpeta raíz en la lista del directorio Apache
- 25. una variable jinja para el directorio raíz de la matraz
- 26. Vim CtrlP Plugin: ¿establece manualmente el directorio de búsqueda raíz?
- 27. ¿Cómo obtener el directorio de plugins actual en WordPress?
- 28. Llamar al archivo de rake anidado desde el directorio raíz
- 29. Guarde los archivos de SharedPreferences en el directorio personalizado u obtenga el directorio predeterminado de SharedPreferences
- 30. ¿Cómo obtengo el nodo raíz de un TreeMap en Java?
Enlaces ambos rotos – IanGilham
@IanGilham Creo que quisiste comentar otra respuesta – Supuhstar
Sí, es malo. Parece que has encontrado el que quise decir. – IanGilham