• 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);
        }
        
    
    
    }
  • 相关阅读:
    【LEETCODE】58、数组分类,适中级别,题目:238、78、287
    【LEETCODE】57、数组分类,适中级别,题目:969、442、695
    【LEETCODE】56、数组分类,适中级别,题目:62、63、1035
    【LEETCODE】55、数组分类,适中级别,题目:79、611、950
    【LEETCODE】54、数组分类,简单级别,题目:605、532
    【LEETCODE】53、数组分类,简单级别,题目:989、674、1018、724、840、747
    【LEETCODE】52、数组分类,简单级别,题目:717,661,746,628,643,849
    【LEETCODE】51、数组分类,简单级别,题目:581,830,1010,665
    【LEETCODE】50、数组分类,简单级别,题目:888,1013,896,485,448,697
    【LEETCODE】49、数组分类,简单级别,题目:566,1089
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/11072231.html
Copyright © 2020-2023  润新知