java实现动态读取文件夹文件信息

Python011

java实现动态读取文件夹文件信息,第1张

java动态读取某个文件夹下的所有文件信息,代码如下:

import java.io.FileNotFoundException

import java.io.IOException

import java.io.File

public class ReadFile {

        public ReadFile() {

        }

        /**

         * 动态读取某个文件夹下的所有文件信息

         */

        public static boolean readfile(String filepath) throws FileNotFoundException, IOException {

                try {

                        File file = new File(filepath)

                        if (!file.isDirectory()) {

                                System.out.println("文件")

                                System.out.println("path=" + file.getPath())

                                System.out.println("absolutepath=" + file.getAbsolutePath())

                                System.out.println("name=" + file.getName())

                        } else if (file.isDirectory()) {

                                System.out.println("文件夹")

                                String[] filelist = file.list()

                                for (int i = 0 i < filelist.length i++) {

                                        File readfile = new File(filepath + "\\" + filelist[i])

                                        if (!readfile.isDirectory()) {

                                                System.out.println("path=" + readfile.getPath())

                                                System.out.println("absolutepath="

                                                                + readfile.getAbsolutePath())

                                                System.out.println("name=" + readfile.getName())

                                        } else if (readfile.isDirectory()) {

                                                readfile(filepath + "\\" + filelist[i])

                                        }

                                }

                        }

                } catch (FileNotFoundException e) {

                        System.out.println("readfile()   Exception:" + e.getMessage())

                }

                return true

        }

         public static void main(String[] args) {

                try {

                        readfile("e:/videos")

                        // deletefile("D:/file")

                } catch (FileNotFoundException ex) {

                } catch (IOException ex) {

                }

                System.out.println("ok")

        }

}

实现思路:无论是何种类型,都是转换为流的形式进行的文件传输和存储。

可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。

BufferedReader bre = null

OutputStreamWriter pw = null//定义一个流

try {

String file = "D:/test/test.GIF"

bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流

pw = new OutputStreamWriter(new FileOutputStream(“D:/New.GIF”),"GBK")//确认流的输出文件和编码格式,此过程创建了“test.GIF”实例

while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环

{

pw.write(str)//将要写入文件的内容,可以多次write

};

bre.close();

pw.close()//关闭流

备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。