第十篇 IO流技术(十)

package com.zzp.commons;

import java.io.File;

import org.apache.commons.io.FileUtils;

/**
 *
 *  大小
 * @author java
 *
 */
public class CIOTest01 {
    public static void main(String[] args) {
        //文件的大小
        long len = FileUtils.sizeOf(new File("src/com/zzp/commons/CIOTest01.java"));
        System.out.println(len);
        //目录的大小
        len = FileUtils.sizeOf(new File("F:/workspace1/IO_Day04/"));
        System.out.println(len);
    }
}
package com.zzp.commons;

import java.io.File;
import java.util.Collection;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;

/**
 *
 *  列出子孙级
 * @author java
 *
 */
public class CIOTest02 {
    public static void main(String[] args) {
        Collection<File> listFiles = FileUtils.listFiles(new File("F:/workspace1/IO_Day04"),
                EmptyFileFilter.NOT_EMPTY, null);
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        System.out.println("===============================");

        listFiles = FileUtils.listFiles(new File("F:/workspace1/IO_Day04"),
                EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        System.out.println("===============================");

        listFiles = FileUtils.listFiles(new File("F:/workspace1/IO_Day04"),
                new SuffixFileFilter("java"), DirectoryFileFilter.INSTANCE);
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        System.out.println("===============================");

        listFiles = FileUtils.listFiles(new File("F:/workspace1/IO_Day04"),
                FileFilterUtils.or(new SuffixFileFilter("java"),
                        new SuffixFileFilter("class"),EmptyFileFilter.EMPTY), DirectoryFileFilter.INSTANCE);
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        System.out.println("===============================");

        listFiles = FileUtils.listFiles(new File("F:/workspace1/IO_Day04"),
                FileFilterUtils.and(new SuffixFileFilter("java"),
                        EmptyFileFilter.NOT_EMPTY), DirectoryFileFilter.INSTANCE);
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        System.out.println("===============================");
    }
}
package com.zzp.commons;

import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;

/**
 *
 * 读取内容
 * @author java
 *
 */
public class CIOTest03 {
    public static void main(String[] args) throws IOException {
        //读取文件
        String readFileToString = FileUtils.readFileToString(new File("1.txt"), "gbk");
        System.out.println(readFileToString);

        //读取成字节数组
        byte[] readFileToByteArray = FileUtils.readFileToByteArray(new File("1.txt"));
        System.out.println(readFileToByteArray.length);

        //逐行读取
        List<String> readLines = FileUtils.readLines(new File("1.txt"), "gbk");
        for (String string : readLines) {
            System.out.println(string);
        }

        LineIterator lineIterator = FileUtils.lineIterator(new File("1.txt"), "gbk");
        while(lineIterator.hasNext()){
            System.out.println(lineIterator.next());
        }
    }
}
package com.zzp.commons;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;

/**
 *
 * 写出内容
 * @author java
 *
 */
public class CIOTest04 {
    public static void main(String[] args) throws IOException {
        FileUtils.write(new File("2.txt"), "生活不易,且行且珍惜\r\n","gbk");
        FileUtils.writeStringToFile(new File("2.txt"), "是真的\r\n", "gbk",true);
        //写出列表
        List<String> datas =new ArrayList<String>();
        datas.add("张三");
        datas.add("李四");
        datas.add("王五");
        FileUtils.writeLines(new File("2.txt"), datas, "......", true);
    }
}
package com.zzp.commons;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;

/**
 *
 * 拷贝
 * @author java
 *
 */
public class CIOTest05 {
    public static void main(String[] args) throws IOException {
        //复制文件
        /*FileUtils.copyFile(new File("1.txt"), new File("3.txt"));*/
        //复制文件到目录
        /*FileUtils.copyFileToDirectory(new File("1.txt"), new File("lib"));*/
        //复制目录到目录
        //FileUtils.copyDirectoryToDirectory(new File("lib"), new File("lib2"));
        //复制目录
        //FileUtils.copyDirectory(new File("lib"), new File("lib2"));
        //拷贝url内容
        /*String url = "https://pic2.zhimg.com/v2-7d01cab20858648cbf62333a7988e6d0_qhd.jpg";
        FileUtils.copyURLToFile(new URL(url), new File("marvel.jpg"));*/

        String string = IOUtils.toString(new URL("http://www.163.com"),"GBK");
        System.out.println(string);
    }
}

原文地址:https://www.cnblogs.com/zhangzhipeng001/p/9589399.html

时间: 2024-08-30 17:31:18

第十篇 IO流技术(十)的相关文章

第四篇 IO流技术(四)

package com.zzp.demo01; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; /** * * 第一个程序 理解操作步骤 * 1.创建源 * 2.选择流 * 3.操作 * 4.释放资源 * @author java * */ public

第六篇 IO流技术(六)

package com.zzp.demo01; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; /** * * 四个步骤:字节数组输入流 * 1.创建源:字节数组不能过大 * 2.

第三篇 IO流技术(三)

编码和解码 package com.zzp.demo; import java.io.UnsupportedEncodingException; /** * * 字符串到字节 --> 编码 * @author java * */ public class ContentEncode { public static void main(String[] args) throws UnsupportedEncodingException { String msg = "我是中国人";

java基础篇IO流的规律

前两篇降了IO流中的字节流和字符流复制的例子,今天来总结一下IO流的规律 掌握好IO流的规律,再开发中会很好用 下面来总结一下: 1,明确源和目的 源:输入流 InputStream 和Reader 目的:输出流 OutputStream 和Writer 2,操作的数据是否是纯文本. 是:使用字符流 不是:使用字节流 3,当体系明确后,在明确要使用哪个具体的对象,通过设备来进行区分 源设备: 内存,硬盘,键盘 目的设备: 内存,硬盘,控制台 这里的源就是你想进行的操作,比如说你想从c盘复制一个文

java IO流技术 之 File

IO流技术 概念:input - output 输入输出流: 输入:将文件读到内存中: 输出:将文件从内存中写出到其他地方 作用:主要就是解决设备和设备之间的数据传输问题. File :文件类的使用十分重要 (一)file的构造方法 1 public static void test1(){ 2 3 //三种拼接路径方式 4 //1.直接拼接 5 File filePath = new File("C:\\123\\aaa"); 6 System.out.println("是

Java IO流技术

Java IO流技术 Java IO基本总结 Java的IO技术就是用来处理数据的.比如从文件中读取数据,或者将数据写到文件中.在网络中传输的都是二进制,即字节码,我们需要在传输之前,将我们程序中的数据转换成字节码才能进行传输.Java的IO包内就提供了完成这些工作的工具类. 总的来说:当需要以二进制的形式来处理文件时,即不涉及文本内容的操作时,我们可以选择InputStream和OutputStream来完成我们的工作.当需要完成处理字符串相关的工作时,就需要使用Reader和Writer来完

java之十 高级IO流

java.io定义的输入/输出类列于下表: ObjectInputStream.GetField和ObjectOutputStream.PutField是Java2新添的内部类. java.io包还包含两个不受java2欢迎的类,这两个类没有在上表中列出:LineNumberInputStream和StringBufferInputStream.新代码不应该使用两个类. 下面是由java.io定义的接口: FileFilter接口是Java2新增的. java.io包中有很多类和接口.包括字节和

java基础(二十)IO流(三)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:字符流(掌握) (1)字节流操作中文数据不是特别的方

JavaEE基础(二十)/IO流

1.IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分为两种: 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 字符流 : 字符流只能操作纯字符数据,比较方便. 2.IO流常用父类 字节流的抽象父类: InputStream OutputStream 字符流的抽象父类: Reader Writer 3.IO程序书写 使