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

本文提供了使用Qt和Java两种编程语言获取系统内存大小和硬盘容量的方法。通过读取特定文件,如'/proc/meminfo'和使用'df -hl'命令,实现了跨平台的资源信息获取功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值