java读取磁盘并遍历磁盘文件过程解析
1.获取本机所有盘符信息
//1.获取本机盘符 File[]roots=File.listRoots(); for(inti=0;i默认获取磁盘空间单位是BT,操作系统是这样算的1G=1024MB,1MB=1024KB,1KB=1024BT
以上运行结果如下:
C:\;119;71;71 D:\;299;233;233 E:\;309;308;308 F:\;321;320;320 W:\;588;358;358其中W盘为网盘。
2.仅获取本地磁盘(除去网络磁盘等)
File[]roots=File.listRoots(); FileSystemViewsys=FileSystemView.getFileSystemView(); for(inti=0;i输出结果:
C:\ D:\ E:\ F:\3.在某一磁盘新建文件
Filefile=newFile("F:\\test\\a\\b"); if(!file.exists()){ file.mkdirs();//目录不存在,创建根目录 }4.遍历某一个盘符的文件
Filefile=newFile("E:\\"); SimpleDateFormatdateFormat=newSimpleDateFormat("YYYY-MM-ddHH:mm:ss"); System.out.println(file.getTotalSpace()/1024/1024/1024);//b-kb-M-G if(file.isAbsolute()){//判断是否为根目录 File[]list=file.listFiles();//使用数组接收带有完整路径的文件夹 for(inti=0;i5.遍历某一文件夹下的文件
Filefile=newFile("F:\\test"); getAllFilePath(file); publicstaticvoidgetAllFilePath(Filedir){ File[]files=dir.listFiles(); for(inti=0;i输入结果:
F:\test\a F:\test\a\b6.获取某一个盘符或文件夹下的所有文件的大小
Filefile=newFile("F:\\test"); getAllFileSize(file); publicstaticlonggetAllFileSize(Filedir){ File[]files=dir.listFiles(); for(inti=0;i7.保存文件
FilefilePath=newFile("D:\\11.png"); StringfileToday=DateUtils.formatTimeYMD(newDate()); //创建目录rootPath StringrootPath="E:/fileUpload/"+fileToday+"/"; Filefile=newFile(rootPath); if(!file.exists()){ file.mkdirs();//目录不存在,创建根目录 } StringpicPath=getPath(rootPath,"videoFile"); saveFile(picPath,filePath); privatestaticbooleansaveFile(Stringpath,FileuploadFile){ //Files.copy(source,out);//可以直接用这个方法保存 intbufferSize=8192;//8kb //写文件 try{ Filef=newFile(path+"/",uploadFile.getName()); if(!f.exists()){ f.createNewFile(); } InputStreamin=newBufferedInputStream(newFileInputStream(uploadFile),bufferSize); OutputStreamout=newBufferedOutputStream(newFileOutputStream(f),bufferSize); byte[]buffer=newbyte[bufferSize]; intlen=0; while((len=in.read(buffer))>0){ out.write(buffer,0,len); } out.flush(); out.close(); }catch(IOExceptione){ e.printStackTrace(); returnfalse; } returntrue; }如果不需要推送进度的话,可以直接调用Files.copy(source,out)方法进行复制文件。
8. 删除文件
FilefilePath=newFile("D:/home/logs/backupsystem_error.log"); booleanresult=filePath.delete();//true表示删除成功 System.out.println(result);以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。