• Day0302____FileUtils


     

    导入jar包

            <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.6</version>
            </dependency>

    原始代码

    package com_01_testfan_01_basic;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.nio.charset.Charset;
    import java.util.List;
    
    import org.apache.commons.io.FileUtils;
    
    public class Day0302_FileUtil {
        
        public static void main(String[] args) throws Exception {
            fileTest();
            fileStream();
            fileReader();
            
            fileUtilsTest();
        }
        
        private static void fileUtilsTest() throws IOException {
            String str=FileUtils.readFileToString(new File("D:\db1.csv"),"utf8");
            System.out.println(str);
            
    //        System.out.println(" 分割符 ---------------");
    //        Charset charset =Charset.forName("utf8");
    //        List<String> lines=FileUtils.readLines(new File("D:\db1.csv"), charset);
    //        for (String string : lines) {
    //            System.out.println(string);
    //        }
    //        FileUtils.write(new File("D:\db1.csv"), "12121212
    ",charset,true);
    //        
            
        }
        
        private static void fileTest() throws Exception {
            //System.getProperty("user.dir") 工程当前目录
    //        System.out.println(System.getProperty("user.dir"));
    //        String path =System.getProperty("user.dir")+File.separator+"data"+File.separator+"test";
    //        new File(path).mkdirs();
    //         FileOutputStream fos=new FileOutputStream(path+File.separator+"1.txt");
            
            //FileUtils.write(new File("db1.csv"), "12121212
    ",charset,true);
        }
        // 走读开发代码需要
        // 通过字节流文件读写 FileOutputStream  FileInputStream
        public static void fileStream() throws Exception{
            
            String path ="1.txt";
            FileOutputStream fos=new FileOutputStream(path, true);
            String str="这是一个测试文档
    ";
            fos.write(str.getBytes());//将字符串转成字节数组
            fos.close();
            
            FileInputStream fileInputStream = new FileInputStream(path);   
            byte[] buf = new byte[1024];  
            int length = 0;
            //循环读取文件内容,输入流中将最多buf.length个字节的数据读入一个buf数组中,返回类型是读取到的字节数。
            //当文件读取到结尾时返回 -1,循环结束。
            while((length = fileInputStream.read(buf)) != -1){   
               System.out.print(new String(buf,0,length));
            }
            //最后记得,关闭流
            fileInputStream.close();
        }
        
        //通过字符流 1 个汉字 2个字节编码
        //FileReader FileWriter
        public static void fileReader() throws Exception{
           String path="2.txt";
           //通过字符流的方式写入文件FileWrite
           FileWriter fw=new FileWriter(path, true);
           String str2="这是第二个测试文档
    ";
           fw.write(str2);
           fw.close(); //如果不使用close,则创建的文件没有内容,因此在写入后要及时关闭
           
           FileReader fr=new FileReader(path);
           char chars[]=new char[512];  //每次最多读1kb
           int temp=0;
           while((temp=fr.read(chars))!=-1){
               System.out.println(new String(chars,0,temp));
           }
           fr.close();
        }
    
    }
     

    FileUtils工具代码使用

    package com_01_testfan_01_basic;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.nio.charset.Charset;
    import java.util.List;
    
    import org.apache.commons.io.FileUtils;
    
    public class Day0302_FileUtil_工具类 {
        
        public static void main(String[] args) throws Exception {
            //fileTest();
            //fileStream();
            //fileReader();
            
            fileUtilsTest();
        }
        
        private static void fileUtilsTest() throws IOException {
            String str=FileUtils.readFileToString(new File("db1.csv"),"utf8");
            System.out.println(str);
            System.out.println(" 分割符 ---------------");
            Charset charset =Charset.forName("utf8");
            List<String> lines=FileUtils.readLines(new File("db1.csv"), charset);
            for (String string : lines) {
                System.out.println(string);
            }
            FileUtils.write(new File("db1.csv"), "12121212
    ",charset,true);
        }
        
    
    
    }
  • 相关阅读:
    两款开发辅助工具介绍
    探究Repository模式的两种写法与疑惑
    js 时间处理
    Jquery元素追加和删除
    js 格式验证总结
    jquery UI datepicker时间控件的使用
    jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
    form表单和ajax表单提交(Html.BeginForm()、Ajax.BeginForm())的差别
    了解了这些才能开始发挥jQuery的威力(转)
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/11072231.html
Copyright © 2020-2023  润新知