获取内存大小和硬盘大小:-------------------Qt版本:
QString getMemTotal()
{
QString memtotal;
QFile m_file;
m_file.setFileName("/proc/meminfo");
if(m_file.open(QIODevice::ReadOnly | QIODevice::Text)==true)
{
QTextStream stream(&m_file);
QString string=stream.readLine();
QStringList strlist = string.split(QRegExp("\\s+"), QString::SkipEmptyParts); // 匹配一个或多个"空格",拆分为单个的单词
int total=strlist.at(1).toInt()/1024;
memtotal=strlist.at(0)+QString::number(total)+" MB";
}
m_file.close();
return memtotal;
}
QString getDiskTotal()
{
QString diskTotal;
system("df -hl > /tmp/note.txt");
QFile m_file;
m_file.setFileName("/tmp/note.txt");
if(m_file.open(QIODevice::ReadOnly | QIODevice::Text)==true)
{
QTextStream stream(&m_file);
QString string=stream.readLine();
string=stream.readLine();
QStringList pieces = string.split(QRegExp("\\s+"), QString::SkipEmptyParts);// 匹配一个或多个"空格",拆分为单个的单词
diskTotal=pieces.at(0)+":"+pieces.at(1);
}
m_file.close();
return diskTotal;
}
--------------------------------java 版本----------------------------
public void getTotalMemory() { 转自:http://stackoverflow.com/questions/17092387/total-ram-from-proc-meminfo
{
String str1 = "/proc/meminfo";
String str2;
String[] arrayOfString;
long initial_memory = 0;
try {
FileReader localFileReader = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader( localFileReader, 8192);
str2 = localBufferedReader.readLine();//meminfo
arrayOfString = str2.split("\\s+");
for (String num : arrayOfString) {
Log.i(str2, num + "\t");
}
//total Memory
initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;
localBufferedReader.close();
}
catch (IOException e)
{
}
}