• JavaSE 文件部分常用功能示例


    来源:https://blog.csdn.net/xavvgu/article/details/109593191 

    遍历子一级文件

    初始化:新建一个Java类

     1 package com.cei.ceipage.temp;
     2 
     3 import java.io.File;
     4 import java.util.Date;
     5 
     6 public class FileTest {
     7 
     8     /**
     9      * 获取指定目录下的所有【子一级】文件和文件夹
    10      * @param path
    11      */
    12     public void fileListTest(String path){
    13         File f = new File(path);
    14         // 返回指定文件夹的所有子一级文件和子一级文件夹(再往下的不管)
    15         File[] files = f.listFiles();
    16 
    17         for(File file: files){
    18             System.out.println("是否是目录: " + file.isDirectory());
    19             System.out.println("绝对路径:" + file.getAbsolutePath());
    20             System.out.println("文件名:" + file.getName());
    21             System.out.println("文件大小: " + file.length());
    22             System.out.println("最后修改日期:" + new Date(file.lastModified()));
    23             boolean flag = file.canWrite();
    24 
    25             if(!flag){
    26                 System.out.println("只读");
    27             }else{
    28                 System.out.println("可写");
    29             }
    30             System.out.println();
    31         }
    32     }
    33 
    34     public static void main(String[] args) {
    35         FileTest fileTest = new FileTest();
    36         fileTest.fileListTest("D:\E\testFolder");
    37 
    38     }
    39 
    40 }

    结果:

    遍历指定目录下所有文件

     1 package com.cei.ceipage.temp;
     2 
     3 import java.io.File;
     4 import java.util.Date;
     5 
     6 public class FileTest {
     7 
     8     /**
     9      * 返回指定目录下的所有文件信息
    10      * @param file
    11      */
    12     public void showFiles(File file){
    13         // 若file是文件,直接打印该文件信息
    14         if(file.isFile()){
    15             System.out.println("绝对路径:" + file.getAbsolutePath() + "文件:" + file.getName());
    16         }else{
    17             if(file!=null && file.listFiles()!=null){
    18                 // 如果file对象是一个目录,则要遍历,去找出里面所有的文件
    19                 for(File f: file.listFiles()){
    20                     // 递归
    21                     showFiles(f);
    22                 }
    23             }
    24         }
    25     }
    26 
    27 
    28     public static void main(String[] args) {
    29         FileTest fileTest = new FileTest();
    30         // fileTest.fileListTest("D:\E\testFolder");
    31 
    32         File file = new File("D:\E\testFolder");
    33 
    34         fileTest.showFiles(file);
    35 
    36     }
    37 
    38 }

    结果:

    文件写入到硬盘 FileWriter 

     1 package com.cei.ceipage.temp;
     2 
     3 import java.io.File;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 import java.util.Date;
     7 
     8 public class FileTest {
     9 
    10     /**
    11      * 文件写入到硬盘
    12      */
    13     public void writerTest() throws IOException {
    14         // 创建对象
    15         FileWriter fileWriter = new FileWriter("D:\E\testFolder\one1.txt");
    16         new File("D:\E\testFolder\one1.txt");
    17 
    18         // 写入操作
    19         fileWriter.write("这条信息写入到one1.txt文件中,它在写入前需先被创建。");
    20 
    21         // 
     换到下一行行首
    22         fileWriter.write("
    换行,此时调到下一行行首。");
    23 
    24         // 关闭或刷新
    25         fileWriter.close();
    26         // fileWriter.flush();
    27     }
    28 
    29 
    30     public static void main(String[] args) throws IOException {
    31         FileTest fileTest = new FileTest();
    32         fileTest.writerTest();
    33 
    34     }
    35 
    36 }

    结果:

    新建的文件中已写入新的内容:

     

    文件读出到内存 FileReader 

     1 package com.cei.ceipage.temp;
     2 
     3 
     4 import java.io.*;
     5 import java.util.Arrays;
     6 import java.util.Date;
     7 
     8 public class FileTest {
     9 
    10     /**
    11      * 文件读出到内存
    12      */
    13     public void readerTest() throws IOException {
    14         FileReader fileReader = new FileReader("D:\E\testFolder\one.txt");
    15         File file = new File("D:\E\testFolder\one.txt");
    16         char[] cbuf = new char[(int) file.length()];
    17         int n = fileReader.read(cbuf);
    18 
    19         System.out.println(Arrays.toString(cbuf));
    20         fileReader.close();
    21     }
    22 
    23 
    24     public static void main(String[] args) throws IOException {
    25         FileTest fileTest = new FileTest();
    26         fileTest.readerTest();
    27     }
    28 
    29 }

    结果:

     控制台打印结果:

    文件读出到内存 BufferedReader

     1 package com.cei.ceipage.temp;
     2 
     3 
     4 import java.io.*;
     5 import java.util.Arrays;
     6 import java.util.Date;
     7 
     8 public class FileTest {
     9 
    10 
    11     /**
    12      * 文件读出到内存
    13      * @throws IOException
    14      */
    15     public void bufferReaderTest() throws IOException {
    16         FileReader fr = new FileReader("D:\E\testFolder\one.txt");
    17 
    18         BufferedReader br = new BufferedReader(fr);
    19 
    20         String str = null;
    21         while ((str = br.readLine()) != null) {
    22             System.out.println(str);
    23         }
    24         fr.close();
    25         br.close();
    26     }
    27 
    28 
    29     public static void main(String[] args) throws IOException {
    30         FileTest fileTest = new FileTest();
    31         fileTest.bufferReaderTest();
    32     }
    33 
    34 }

    结果:

  • 相关阅读:
    九度oj 题目1051:数字阶梯求和
    九度oj 题目1472:求两个多项式的和
    九度oj 题目1173:查找
    九度oj 题目1447:最短路
    九度oj 题目1104:整除问题
    [Luogu] 维护序列
    [Luogu] 计算系数
    [Luogu] 聪明的质监员
    [Luogu] Mayan游戏
    [Luogu] 选择客栈
  • 原文地址:https://www.cnblogs.com/CPU-Easy/p/15093273.html
Copyright © 2020-2023  润新知