最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java讀取磁盤并遍歷磁盤文件過程解析

 更新時間:2019年09月17日 09:43:28   作者:冰湖一角  
這篇文章主要介紹了java讀取磁盤并遍歷磁盤文件過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1. 獲取本機所有盤符信息

//1. 獲取本機盤符
File[] roots = File.listRoots();
for (int i = 0; i < roots.length; i++) {
  System.out.print(roots[i].getPath()+"; ");//磁盤路徑
  System.out.print(roots[i].getTotalSpace()/1024/1024/1024+"; ");//磁盤總空間大小
  System.out.print(roots[i].getUsableSpace()/1024/1024/1024+"; ");//剩余磁盤空間大小
  System.out.println(roots[i].getFreeSpace()/1024/1024/1024);//剩余磁盤空間大小
}

默認(rèn)獲取磁盤空間單位是BT,操作系統(tǒng)是這樣算的 1G=1024MB, 1MB=1024KB, 1KB=1024BT

以上運行結(jié)果如下:

C:\; 119; 71; 71
D:\; 299; 233; 233
E:\; 309; 308; 308
F:\; 321; 320; 320
W:\; 588; 358; 358

其中W盤為網(wǎng)盤。

2. 僅獲取本地磁盤(除去網(wǎng)絡(luò)磁盤等)

File[] roots = File.listRoots();
FileSystemView sys = FileSystemView.getFileSystemView();
for (int i = 0; i < roots.length; i++) {
  if(!sys.getSystemTypeDescription(roots[i]).equals("本地磁盤")){
    continue;
  }
  System.out.println(roots[i].getPath());// 磁盤路徑
}

輸出結(jié)果:

C:\
D:\
E:\
F:\

3.在某一磁盤新建文件

File file = new File("F:\\test\\a\\b");
if (!file.exists()) {
  file.mkdirs();// 目錄不存在,創(chuàng)建根目錄
}

4. 遍歷某一個盤符的文件

File file = new File("E:\\");
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
System.out.println(file.getTotalSpace()/1024/1024/1024);// b-kb-M-G
if (file.isAbsolute()) { // 判斷是否為根目錄
  File[] list = file.listFiles(); // 使用數(shù)組接收帶有完整路徑的文件夾
  for (int i = 0; i < list.length; i++) {
    System.out.println(list[i].getPath());
    System.out.println(list[i].getTotalSpace()); 
    System.out.println(dateFormat.format(list[i].lastModified()));    
  }
}

5.遍歷某一文件夾下的文件

File file = new File("F:\\test");
getAllFilePath(file);
public static void getAllFilePath(File dir){
  File[] files=dir.listFiles();
  for(int i=0;i<files.length;i++){
    if(files[i].isDirectory()){
      System.out.println(files[i].getPath());
      //這里面用了遞歸的算法 
      getAllFilePath(files[i]);  
    } else {
      System.out.println(files[i].getPath());
  }
  }
 }

輸入結(jié)果:

F:\test\a
F:\test\a\b

6. 獲取某一個盤符或文件夾下的所有文件的大小

File file = new File("F:\\test");
getAllFileSize(file);
public static long getAllFileSize(File dir){
  File[] files=dir.listFiles();
  for(int i=0;i<files.length;i++){
    if(files[i].isDirectory()){
      //這里面用了遞歸的算法 
      getAllFileSize(files[i]);
    } else {
      sum+=files[i].length();
      System.out.println(files[i]+"的大?。?+files[i].length());
  }
  }
  return sum;
 }

7. 保存文件

File filePath = new File("D:\\11.png");
String fileToday = DateUtils.formatTimeYMD(new Date());
//創(chuàng)建目錄rootPath
String rootPath = "E:/fileUpload/"+fileToday+"/";
File file = new File(rootPath);
if (!file.exists()) {
  file.mkdirs();//目錄不存在,創(chuàng)建根目錄
}
String picPath = getPath(rootPath, "videoFile");
saveFile(picPath, filePath);
private static boolean saveFile(String path,File uploadFile) {
  //Files.copy(source, out);//可以直接用這個方法保存
  int bufferSize = 8192;//8kb
  //寫文件
  try {
    File f = new File(path+"/", uploadFile.getName());
    if (!f.exists()) {
      f.createNewFile();
    }
    InputStream in = new BufferedInputStream(new FileInputStream(uploadFile),bufferSize);
    OutputStream out =new BufferedOutputStream(new FileOutputStream(f),bufferSize) ;
    byte[] buffer = new byte[bufferSize];
    int len = 0;
    while ((len = in.read(buffer)) >0) {
      out.write(buffer,0,len);
    }
    out.flush();
    out.close();
  } catch (IOException e) {
    e.printStackTrace();
    return false;
  }
  return true;
}

如果不需要推送進(jìn)度的話,可以直接調(diào)用Files.copy(source, out)方法進(jìn)行復(fù)制文件。

8. 刪除文件

File filePath = new File("D:/home/logs/backupsystem_error.log");
boolean result = filePath.delete();//true表示刪除成功
System.out.println(result);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot項目中的多數(shù)據(jù)源支持的方法

    SpringBoot項目中的多數(shù)據(jù)源支持的方法

    本篇文章主要介紹了SpringBoot項目中的多數(shù)據(jù)源支持的方法,主要介紹在SpringBoot項目中利用SpringDataJpa技術(shù)如何支持多個數(shù)據(jù)庫的數(shù)據(jù)源,有興趣的可以了解一下
    2017-10-10
  • java如何根據(jù)日期生成單號

    java如何根據(jù)日期生成單號

    這篇文章主要介紹了java如何根據(jù)日期生成單號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Java8如何構(gòu)建一個Stream示例詳解

    Java8如何構(gòu)建一個Stream示例詳解

    Java 8 是迄今為止在語義上改動上最大的一個平臺。下面這篇文章主要給大家介紹了關(guān)于Java8如何構(gòu)建一個Stream的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • RestTemplate發(fā)送get和post請求,下載文件的實例

    RestTemplate發(fā)送get和post請求,下載文件的實例

    這篇文章主要介紹了RestTemplate發(fā)送get和post請求,下載文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • springboot配置Hikari連接池方式

    springboot配置Hikari連接池方式

    本文介紹了在Springboot中配置Hikari連接池的具體參數(shù)和設(shè)置,涵蓋了autoCommit, connectionTimeout, idleTimeout, maxLifetime, minimumIdle, maximumPoolSize等關(guān)鍵配置項,并提供了它們的默認(rèn)值、描述和條件下的重置規(guī)則
    2024-09-09
  • SpringBoot消息國際化配置實現(xiàn)過程解析

    SpringBoot消息國際化配置實現(xiàn)過程解析

    這篇文章主要介紹了SpringBoot消息國際化配置實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • mybatisplus實現(xiàn)自動創(chuàng)建/更新時間的項目實踐

    mybatisplus實現(xiàn)自動創(chuàng)建/更新時間的項目實踐

    Mybatis-Plus提供了自動填充功能,可以通過實現(xiàn)MetaObjectHandler接口來實現(xiàn)自動更新時間的功能,本文就來介紹一下mybatisplus實現(xiàn)自動創(chuàng)建/更新時間的項目實踐,感興趣的可以了解下
    2024-01-01
  • java語言自行實現(xiàn)ULID過程底層原理詳解

    java語言自行實現(xiàn)ULID過程底層原理詳解

    這篇文章主要為大家介紹了java語言自行實現(xiàn)ULID過程底層原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • java使用Stream流對自定義對象數(shù)組去重的實現(xiàn)

    java使用Stream流對自定義對象數(shù)組去重的實現(xiàn)

    本文主要介紹了java使用Stream流對自定義對象數(shù)組去重的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • 新建Maven工程出現(xiàn)Process?Terminated的問題解決

    新建Maven工程出現(xiàn)Process?Terminated的問題解決

    當(dāng)Maven出現(xiàn)"Process terminated"錯誤時,這通常是由于配置文件或路徑錯誤導(dǎo)致的,本文主要介紹了新建Maven工程出現(xiàn)Process?Terminated的問題解決,感興趣的可以了解一下
    2024-04-04

最新評論

太原市| 正蓝旗| 通化市| 泰宁县| 甘谷县| 宁海县| 慈利县| 忻城县| 凤山县| 清水县| 屏东市| 会理县| 寿宁县| 浦北县| 灵璧县| 湖南省| 久治县| 衡南县| 武定县| 木兰县| 海林市| 五寨县| 临海市| 六枝特区| 龙游县| 阿尔山市| 报价| 长治市| 云霄县| 铜川市| 延长县| 宝鸡市| 缙云县| 谢通门县| 高陵县| 泸西县| 安国市| 达孜县| 常宁市| 桐梓县| 南川市|