gpt4 book ai didi

java - 获取当前文件夹中的可用空间

转载 作者:行者123 更新时间:2023-12-02 06:00:06 25 4
gpt4 key购买 nike

我有这段 Java 代码,它获取 HDD 和 RAM 空间并检查可用空间。由于某种原因,它在 Linux 中无法正常工作。我每次都会看到警告消息。如何获取运行 Java 代码的当前文件夹的可用空间?

import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;

public final class EnvironmentCheck{

public EnvironmentCheck(){

// If the HDD Free Space is less than 200 Megabytes write message HDD is too low
if (200 > checkHDDFreeSpace()){
System.out.println("*** WARNING Hard Drive free space " + checkHDDFreeSpace() + " Megabytes " + "is too low! ***");
// TODO write the same messgae into the log file
}

// If the RAM Free Space is less than 200 Megabytes write message HDD is too low
if (200 > checkRAMFreeSpace()){
System.out.println("*** WARNING RAM free space " + checkRAMFreeSpace() + " Megabytes " + "is too low! ***");
// TODO write the same messgae into the log file
}

}

/**
* Get available HDD Free space from the system
*
* @return
*/
public long checkHDDFreeSpace(){

long availableSpace = 0;

FileSystem fs = FileSystems.getDefault();
for (FileStore store : fs.getFileStores()){

try{
availableSpace = store.getUsableSpace() / 1024;
//System.out.println(availableSpace);
}catch (IOException e){

}
}
return availableSpace;
}

/**
* Get available RAM Free memory
*
* @return
*/
public long checkRAMFreeSpace(){
return Runtime.getRuntime().freeMemory();
}

}

最佳答案

我想你想找出你的文件夹所在分区(挂载mount)的可用空间。您收到警告消息是因为您在每次迭代中覆盖 avaialableSpace 变量

for (FileStore store : fs.getFileStores()){
try{
//gets overwritten in each iteration, hence you get the
//warning every time
availableSpace = store.getUsableSpace() / 1024;
//System.out.println(availableSpace);
}catch (IOException e){

}
}

首先尝试找到与您的目录相对应的FileStore(例如,对于/usr/home/foouser,它可以是/usr/home > 然后仅获取该 FileStore 的大小

关于java - 获取当前文件夹中的可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22747036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com