Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

603
Vistas
¿Cómo puede un programa Java enumerar todas las particiones y obtener el espacio libre de ellas en Linux?

Quiero el nombre de la partición con su espacio total, espacio usado y espacio libre para el sistema Linux usando el programa Java.

Obtengo el valor correcto en el caso del sistema Windows, pero en Linux solo obtengo información de una unidad:

Esto es lo que he intentado hasta ahora.

 public class DiskSpace { public static void main(String[] args) { FileSystemView fsv = FileSystemView.getFileSystemView(); File[] drives = File.listRoots(); if (drives != null && drives.length > 0) { for (File aDrive : drives) { System.out.println("Drive Letter: " + aDrive); System.out.println("\tType: " + fsv.getSystemTypeDescription(aDrive)); System.out.println("\tTotal space: " + aDrive.getTotalSpace()); System.out.println("\tFree space: " + aDrive.getFreeSpace()); System.out.println(); } } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

No hay letras de unidad en Linux. Si quiere saber qué particiones hay y dónde están montadas, lea /proc/mounts . Cuando tenga un punto de montaje (segunda columna en /proc/mounts), use new File(mountpoint).getTotalSpace() para obtener el espacio total.

over 4 years ago · Santiago Trujillo Denunciar

0

Los sistemas Linux, Unix y similares a Unix tienen un sistema de archivos con una raíz dentro de la cual puede haber varios puntos de montaje en los que se pueden montar particiones que contienen sistemas de archivos Unix, parciales o completos; los sistemas de archivos que no son Unix también se pueden montar con el software disponible para manejar las transformaciones necesarias, pero el modelo unificado de sistema de archivos de raíz única permanece.

Si la clase FileSystemView que está utilizando es del paquete javax.swing.filechooser , no espere demasiado:

FileSystemView es la puerta de entrada de JFileChooser al sistema de archivos. Dado que la API de archivo JDK1.1 no permite el acceso a información como particiones raíz, información de tipo de archivo o bits de archivo ocultos, esta clase está diseñada para intuir la mayor cantidad posible de información del sistema de archivos específica del sistema operativo.

Los licenciatarios de Java pueden querer proporcionar una implementación diferente de FileSystemView para manejar mejor un sistema operativo dado.

Ese segundo párrafo es clave.

La implementación de la máquina virtual de Java está destinada a abstraer el tipo de cosas específicas de la plataforma que desea en este caso. Para tener éxito, deberá escribir o encontrar clases de envoltura de llamadas nativas para la API del sistema nativo de cada plataforma que admitirá. Es poco probable que las abstracciones de "alto nivel", como la clase FileSystemView , sean completas o confiables para proporcionar la información que necesita.

over 4 years ago · Santiago Trujillo Denunciar

0

Este es un fragmento de código para mostrar solo los medios externos montados en el nombre.

 String OS = System.getProperty("os.name"); if(OS.equals("Linux")) { String s = ""; Runtime rt = Runtime.getRuntime(); int n=0; Process ps = rt.exec("ls /run/media/Rancho");// Write your UserName, mine is Rancho InputStream in = ps.getInputStream(); while((n = in.read())!=-1) { char ch = (char) n; s+ = ch; } System.out.println(s); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda