嵌入式----------内存大小和硬盘大小的代码

来源:互联网 发布:弗洛伊德算法java 编辑:程序博客网 时间:2024/05/06 14:07

获取内存大小和硬盘大小:-------------------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)     {           }}