java中IO递归写入

package cn.stat.p1.file;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class textdemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File fl=new File("D:\\java");
        FilenameFilter  filter=new FilenameFilter(){

            @Override
            public boolean accept(File dir, String name) {
                // TODO Auto-generated method stub
                return name.endsWith(".java");
            }

        };
        List<File> list=new ArrayList<File>();
        getFiles(fl,filter,list);
        File fos=new File("D:\\java\\info.txt");
        wirtefiles(list,fos);

    }

    public static void getFiles(File dir,FilenameFilter filter,List<File> list)
    {
        File[] files=dir.listFiles();

        for(File file : files)
        {
            if(file.isDirectory())
            {
                getFiles(file,filter,list);
            }else
            {
                if(filter.accept(file,file.getName()))
                {
                    list.add(file);
                }
            }
        }

    }
    public static void wirtefiles(List<File> list,File desfile)
    {
        BufferedWriter bufw=null;
        try {
            bufw=new BufferedWriter(new FileWriter(desfile));
            for(File file : list)
            {
                bufw.write(file.getAbsolutePath());
                bufw.newLine();
                bufw.flush();
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            throw new RuntimeException("写不了");
        }finally
        {
            if(bufw!=null)
            {
                try {
                    bufw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    throw new RuntimeException("关不了");
                }
            }
        }
    }

}
时间: 2024-12-17 12:10:43

java中IO递归写入的相关文章

JAVA中IO总结

JAVA中IO流主要分为两大类: 字节流:InputStream+OutputStream 字符流:Reader+Writer 字节流: InputStream是所有字节输入流的父类 OutputStream是所有字节输出流的父类 FileInputStream从文件中读取数据 FileOutpuStream将数据写入到文件中 ByteArrayInputStream从byte数组中读取数据 ByteArrayOutputStream将数据写入到内存中 PrintStream是一个包装类,它将数

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

2018.3.31 java中的递归

java中的递归 1.概念 定义一个方法时,出现本方法调用本方法的过程,称之为递归 2.特点 必然有一个边界条件 使用递归代码往往更简洁,可读性强 3.什么时候使用递归 n的阶乘和n的累加定义 f(n) =1 f(n)=f(n)*f(n-1) 4.普通实现与递归实现的比较 普通实现 //计算5的阶乘 public class Demo { public static void main(String[] args) { int sum = 1; for (int i =5; i >=1; i--

Java中IO流文件读取、写入和复制

//构造文件File类 File f=new File(fileName); //判断是否为目录 f.isDirectory(); //获取目录下的文件名 String[] fileName=f.list(); //获取目录下的文件File[] files=f.listFiles();  1.Java怎么读取文件 package com.yyb.file; import java.io.File; import java.io.FileInputStream; import java.io.In

Java中IO流

* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流. * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便. 字节流 |--InputStream(字节输入流,字节流的抽象父类,抽象类不能直接创建对象,必须使用子类) |--FileInputStream(文件字节输入流,就是以字节的

JAVA中IO技术:BIO、NIO、AIO

1.同步异步.阻塞非阻塞概念 同步和异步是针对应用程序和内核的交互而言的. 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值. 由上描述基本可以总结一句简短的话,同步和异步是目的,阻塞和非阻塞是实现方式. 1 同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 自己上街买衣服,自己亲自干这件事,别的事干不了.

Java中IO流,输入输出流概述与总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字

java中IO及中文乱码问题

第一次发这种博客,所以一直在纠结怎么开头,干脆直奔主题吧,把自己的一些总结体会记录下来,先从简单的学习开始,希望可以慢慢坚持,以后的内容可以写的更好更有意义. 其实真正在工作中中文乱码的问题遇到的不多,那是因为公司为了开发方便所以文件都统一编码了.但是我觉得还有很有必要去稍微了解一下其原理的. IO就是输入输出流,用面向对象来理解的话,就是输入,输出流对象,主要用来操作文件对象.所以再稍微谈谈文件的概念,即File对象.在Java中,File不是我们平时生活中指的某个具体文件,而是某个路径对象,

JAVA中IO流总结

本文是在学习中的总结,欢迎转载但请注明出处:http://write.blog.csdn.net/postedit/42119261 我想你对JAVA的IO流有所了解,平时使用的也比较的多,但是对于其具体分类和继承体系可能知道的并不多,可能也很少去看相关的API文档,找出其中的关系和各自的应用情形.本文简单对常用的IO流进行分类整理,并简单举例说明其应用.希望本文对你有所帮助. (A)IO流大致分为两种: (1)字节流:对应抽象类为InputStream(输入流)和 OutputStream(输