获取系统中所有盘符

 
///< 获取系统中所有的盘符
int GetAllDrives(std::vector<CStringA>& vecDrives)
{
 char szbuf[MAX_PATH] = {0};
 GetLogicalDriveStringsA(MAX_PATH,szbuf);

 int nCount  = 0;
 char * pDrive = szbuf;
 for(int nlen =strlen(szbuf); nlen == 3 ;nCount++)
 {  
  CStringA strDrive = pDrive;
  vecDrives.push_back(strDrive);
  pDrive +=4;
  nlen = strlen(pDrive);
 } 
 return nCount;
}
///< 判断系统中是否有DVD 盘符,如果要判断是否有DVD光盘,还要对获取到的盘符里的内容进行下一步判断,如有没有vs_table及.ifo文件存在.
bool HasDVDDrive()
{
 char szbuf[MAX_PATH] = {0};
 GetLogicalDriveStringsA(MAX_PATH,szbuf);

 int nCount  = 0;
 char * pDrive = szbuf;
 for(int nlen =strlen(szbuf); nlen == 3 ;)
 { 
  if( GetDriveTypeA(pDrive) == DRIVE_CDROM )
  {
   strcpy_s(szDrive,4,pDrive);
   return true;
  }
  pDrive +=4;
  nlen = strlen(pDrive);
 } 
 return false;
}



 

发布了13 篇原创文章 · 获赞 0 · 访问量 3万+
展开阅读全文

遍历指定盘符下所有文件

11-11

import java.io.File; /** * @author * *尝试遍历每个文件夹,并列出所有内容 *分析: * 1.获取文件件对象 * 2.判断是否为文件夹 * 3.是 继续判断 是否为文件夹 * 4.否,则打印所有文件的文件名 *使用遍历 */ public class BianliWenjianjia { public static void main(String []args){ // File file=new File("E:\\inst\\3-图形图像\\素材2011\\eclipse"); File file=new File("F:\\"); file(file,0); } public static void file( File file,int i) { //创建文件对象,指定根目录 System.out.println(getSpace(i)+file.getName()); //定义一个变量用于记录目录层次 i++; //获取文件对象 File [] fileArr=file.listFiles(); for(int index=0;index<fileArr.length;index++) // for(File fileCon:fileArr) {//遍历 if(fileArr[index].isDirectory()) // if(fileCon.isDirectory()) { file(fileArr[index],i); // file(fileCon,i); } else { System.out.println(getSpace(i)+fileArr[index].getName()); // System.out.println(getSpace(i)+fileCon.getName()); } } if(file.getParentFile()==file) return ; } /** * @param i 目录层次 * @return 空格字符 */ private static String getSpace(int i) { StringBuffer sb=new StringBuffer(); sb.append("|--"); for(int a=0;a<i;a++) { sb.insert(0,"| "); } return sb.toString(); } } 在这个程序中若指定具体某个文件夹就可以成功遍历,但是指定具体盘符时就会报java.lang.NullPointerException,本人开始以为是系统权限问题,以管理员权限运行也出现同样的错误,所以向各位前辈请教!请帮忙分析下这是什么原因!学生在此谢过了! 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览