Class WindowsFileSystem

java.lang.Object
oshi.software.common.AbstractFileSystem
oshi.software.os.windows.WindowsFileSystem
All Implemented Interfaces:
FileSystem

@ThreadSafe public class WindowsFileSystem extends AbstractFileSystem
The Windows File System contains OSFileStores which are a storage pool, device, partition, volume, concrete file system or other implementation specific means of file storage. In Windows, these are represented by a drive letter, e.g., "A:\" and "C:\"
  • Field Details

    • BUFSIZE

      private static final int BUFSIZE
      See Also:
    • SEM_FAILCRITICALERRORS

      private static final int SEM_FAILCRITICALERRORS
      See Also:
    • FILE_CASE_PRESERVED_NAMES

      private static final int FILE_CASE_PRESERVED_NAMES
      See Also:
    • FILE_FILE_COMPRESSION

      private static final int FILE_FILE_COMPRESSION
      See Also:
    • FILE_DAX_VOLUME

      private static final int FILE_DAX_VOLUME
      See Also:
    • FILE_NAMED_STREAMS

      private static final int FILE_NAMED_STREAMS
      See Also:
    • FILE_PERSISTENT_ACLS

      private static final int FILE_PERSISTENT_ACLS
      See Also:
    • FILE_READ_ONLY_VOLUME

      private static final int FILE_READ_ONLY_VOLUME
      See Also:
    • FILE_SEQUENTIAL_WRITE_ONCE

      private static final int FILE_SEQUENTIAL_WRITE_ONCE
      See Also:
    • FILE_SUPPORTS_ENCRYPTION

      private static final int FILE_SUPPORTS_ENCRYPTION
      See Also:
    • FILE_SUPPORTS_OBJECT_IDS

      private static final int FILE_SUPPORTS_OBJECT_IDS
      See Also:
    • FILE_SUPPORTS_REPARSE_POINTS

      private static final int FILE_SUPPORTS_REPARSE_POINTS
      See Also:
    • FILE_SUPPORTS_SPARSE_FILES

      private static final int FILE_SUPPORTS_SPARSE_FILES
      See Also:
    • FILE_SUPPORTS_TRANSACTIONS

      private static final int FILE_SUPPORTS_TRANSACTIONS
      See Also:
    • FILE_SUPPORTS_USN_JOURNAL

      private static final int FILE_SUPPORTS_USN_JOURNAL
      See Also:
    • FILE_UNICODE_ON_DISK

      private static final int FILE_UNICODE_ON_DISK
      See Also:
    • FILE_VOLUME_IS_COMPRESSED

      private static final int FILE_VOLUME_IS_COMPRESSED
      See Also:
    • FILE_VOLUME_QUOTAS

      private static final int FILE_VOLUME_QUOTAS
      See Also:
    • OPTIONS_MAP

      private static final Map<Integer,String> OPTIONS_MAP
    • MAX_WINDOWS_HANDLES

      static final long MAX_WINDOWS_HANDLES
  • Constructor Details

    • WindowsFileSystem

      public WindowsFileSystem()

      Constructor for WindowsFileSystem.

  • Method Details

    • getFileStores

      public List<OSFileStore> getFileStores(boolean localOnly)
      Description copied from interface: FileSystem
      Get file stores on this machine Instantiates a list of OSFileStore objects, representing a storage pool, device, partition, volume, concrete file system or other implementation specific means of file storage.
      Parameters:
      localOnly - If true, filters the list to only local file stores.
      Returns:
      A list of OSFileStore objects or an empty array if none are present.
    • getLocalVolumes

      static ArrayList<OSFileStore> getLocalVolumes(String volumeToMatch)
      Package private method for getting all mounted local drives.
      Parameters:
      volumeToMatch - an optional string to filter match, null otherwise
      Returns:
      A list of OSFileStore objects representing all local mounted volumes
    • getWmiVolumes

      static List<OSFileStore> getWmiVolumes(String nameToMatch, boolean localOnly)
      Package private method for getting logical drives listed in WMI.
      Parameters:
      nameToMatch - an optional string to filter match, null otherwise
      localOnly - Whether to only search local drives
      Returns:
      A list of OSFileStore objects representing all network mounted volumes
    • getDriveType

      private static String getDriveType(String drive)
      Private method for getting mounted drive type.
      Parameters:
      drive - Mounted drive
      Returns:
      A drive type description
    • getOpenFileDescriptors

      public long getOpenFileDescriptors()
      Description copied from interface: FileSystem
      The current number of open file descriptors. A file descriptor is an abstract handle used to access I/O resources such as files and network connections. On UNIX-based systems there is a system-wide limit on the number of open file descriptors. On Windows systems, this method returns the total number of handles held by Processes. While Windows handles are conceptually similar to file descriptors, they may also refer to a number of non-I/O related objects.
      Returns:
      The number of open file descriptors if available, 0 otherwise.
    • getMaxFileDescriptors

      public long getMaxFileDescriptors()
      Description copied from interface: FileSystem
      The maximum number of open file descriptors. A file descriptor is an abstract handle used to access I/O resources such as files and network connections. On UNIX-based systems there is a system-wide limit on the number of open file descriptors. On Windows systems, this method returns the theoretical max number of handles (2^24-2^15 on 32-bit, 2^24-2^16 on 64-bit). There may be a lower per-process limit. While Windows handles are conceptually similar to file descriptors, they may also refer to a number of non-I/O related objects.
      Returns:
      The maximum number of file descriptors if available, 0 otherwise.
    • getMaxFileDescriptorsPerProcess

      public long getMaxFileDescriptorsPerProcess()
      Description copied from interface: FileSystem
      The maximum number of open file descriptors per process. This returns the upper limit which applies to each process. The actual limit of a process may be lower if configured.
      Returns:
      The maximum number of file descriptors of each process if available, 0 otherwise.