/** * Attemps to detect if this file is the root of a removable media drive (floppy, CD, DVD, USB drive...). * This method produces accurate results only under Windows. * * @return <code>true</code> if this file is the root of a removable media drive (floppy, CD, DVD, USB drive...). */ public boolean guessRemovableDrive() { if(IS_WINDOWS && Kernel32.isAvailable()) { int driveType = Kernel32.getInstance().GetDriveType(getAbsolutePath(true)); if(driveType!=Kernel32API.DRIVE_UNKNOWN) return driveType==Kernel32API.DRIVE_REMOVABLE || driveType==Kernel32API.DRIVE_CDROM; } // For other OS that have root drives (OS/2), a weak way to characterize removable drives is by checking if the // corresponding root folder is read-only. return hasRootDrives() && isRoot() && !file.canWrite(); }
if (!Kernel32.isAvailable()) return false; int attributes = Kernel32.getInstance().GetFileAttributes(filePath); findFileHandle = Kernel32.getInstance().FindFirstFile(filePath, findFileData); Kernel32.getInstance().FindClose(findFileHandle);
if(Kernel32.isAvailable()) { LongByReference freeSpaceLBR = new LongByReference(); if(Kernel32.getInstance().GetDiskFreeSpaceEx(absPath, null, totalSpaceLBR, freeSpaceLBR)) { dfInfo[0] = totalSpaceLBR.getValue(); dfInfo[1] = freeSpaceLBR.getValue();
if(Kernel32.isAvailable()) { LongByReference freeSpaceLBR = new LongByReference(); if(Kernel32.getInstance().GetDiskFreeSpaceEx(absPath, null, totalSpaceLBR, freeSpaceLBR)) { dfInfo[0] = totalSpaceLBR.getValue(); dfInfo[1] = freeSpaceLBR.getValue();
else if(Kernel32.isAvailable()) { if(!Kernel32.getInstance().MoveFileEx(absPath, destFile.getAbsolutePath(), Kernel32API.MOVEFILE_REPLACE_EXISTING|Kernel32API.MOVEFILE_WRITE_THROUGH)) { String errorMessage = Integer.toString(Kernel32.getInstance().GetLastError());
else if(Kernel32.isAvailable()) { if(!Kernel32.getInstance().MoveFileEx(absPath, destFile.getAbsolutePath(), Kernel32API.MOVEFILE_REPLACE_EXISTING|Kernel32API.MOVEFILE_WRITE_THROUGH)) { String errorMessage = Integer.toString(Kernel32.getInstance().GetLastError());