楼主可以试一下,
1. 看看open的返回值错误是否可以提供充分的信息.
2. 是否有API或者系统文件可以查询drive信息
一些walk around, 过滤法来做, 排除一般性错误, 默认认为是readonly
1. permission(权限为owner, 可以排除)
2. disk not enough(判断磁盘信息, 可以排除)
3. file is using (新创建的几率很低)
4. disk error(几率稍微低一点)
5. disk is unmouted (double check一下)
6. 检测disk大小, last write时间等有没有变化, 可以检测U盘变化, 理论上read-only stick是不可能发生任何变化的. 如果发生了可以认为不是readonly