
# 获取磁盘使用情况
#### 方法名称
void getDiskUsage()
#### 功能描述
获取云机磁盘使用情况。该方法用于查询云机的磁盘使用情况。
#### 参数说明
无
#### 返回值
无
#### 回调参数
- AppOperateResponse结构
  
  | **字段**     | **类型**        | **说明**    |
  |:---|:---|:---|
  | error_code | String        | 状态码，0表示成功 |
  | error_msg  | String        | 错误详情      |
  | data       | DiskUsageInfo | 磁盘使用数据对象  |
     
  
- DiskUsageInfo结构
  
  | **字段**    | **类型** | **计算关系**                    | **说明**             |
  |:---|:---|:---|:---|
  | totalSize | long   | -                           | 磁盘物理总容量，单位：字节      |
  | usedSize  | long   | usedSize=totalSize-freeSize | 已占用空间（含系统保留），单位：字节 |
  | freeSize  | long   | -                           | 用户可用空间，单位：字节       |
     
  
 
#### 调用示例
```
// 1. 实现带单位转换的回调处理器
CloudPhoneClient.Callback.AppCallback callback = new CloudPhoneClient.Callback.AppCallback() {
@Override
public void onGetDiskUsage(AppOperateResponse<DiskUsageInfo> response) {
if(!"0".equals(response.getError_code())){
System.err.println(" 查询失败: " + response.getError_msg());
return;
}
DiskUsageInfo usage = response.getData();
System.out.printf("磁盘使用情况：\n" +
"  总容量：%.2f GB\n" +
"  已使用：%.2f GB (%.1f%%)\n" +
"  可用空间：%.2f GB\n",
bytesToGB(usage.getTotalSize()),
bytesToGB(usage.getUsedSize()),
(usage.getUsedSize()  * 100.0 / usage.getTotalSize()),
bytesToGB(usage.getFreeSize()));
}
private double bytesToGB(long bytes) {
return bytes / (1024.0 * 1024 * 1024);
}
};
// 2. 发起查询
CloudPhoneClient.getDiskUsage();
```
#### 响应示例
```
// 成功响应
{
"error_code": "0",
"error_msg": "success",
"data": {
"totalSize": 53687091200,
"usedSize": 21474836480,
"freeSize": 32212254720
}
}
// 异常响应
{
"error_code": "500",
"error_msg": "Storage service unavailable"
}
```
