Copy codeThe Code is as follows :/**
* Gets the number of cores available in this device, each SS all processors.
* Requires: Ability to peruse the filesystem at "/sys/devices/system/cpu"
* @ Return The number of cores, or 1 if failed to get result
*/
Private int getNumCores (){
// Private Class to display only CPU devices in the directory listing
Class CpuFilter implements FileFilter {
@ Override
Public boolean accept (File pathname ){
// Check if filename is "cpu", followed by a single digit number
If (Pattern. matches ("cpu [0-9]", pathname. getName ())){
Return true;
}
Return false;
}
}
Try {
// Get directory containing CPU info
File dir = new File ("/sys/devices/system/cpu /");
// Filter to only list the devices we care about
File [] files = dir. listFiles (new CpuFilter ());
// Return the number of cores (virtual CPU devices)
Return files. length;
} Catch (Exception e ){
// Default to return 1 core
Return 1;
}
}