zoukankan      html  css  js  c++  java
  • Java学习笔记43(打印流、IO流工具类简单介绍)

    打印流:

    有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器

    PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream)

    PringWriter:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream),接收字符输出流(Writer)

    为其他流添加功能,可以方便地打印各种数据值,不同的是:它永远不会抛出IO异常

    方法:

    package demo;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    public class PrintWriterDemo {
        public static void main(String[] args) throws IOException {
            function1();
            function2();
            function3();
        }
    
        public static void function1() throws FileNotFoundException {
            File file = new File("d:\1.txt");
            PrintWriter pw = new PrintWriter(file);
            pw.println(100);// 写入的不是d,而是100,原样打印
            pw.write(100);// 写入的是d
            pw.flush();
            pw.close();
        }
    
        public static void function2() throws FileNotFoundException {
            FileOutputStream fos1 = new FileOutputStream("d:\2.txt");
            PrintWriter pw1 = new PrintWriter(fos1);
            pw1.println("打印流");
            pw1.flush();
            pw1.close();
        }
    
        public static void function3() throws IOException {
            FileWriter fw1 = new FileWriter("d:\4.txt");
            PrintWriter pw1 = new PrintWriter(fw1);
            pw1.println("打印流");
            pw1.flush();
            pw1.close();
        }
    }

    打印流自动刷新:

    package demo;
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    public class PrintWriterDemo {
        public static void main(String[] args) throws IOException {
            function1();
        }
    
        public static void function1() throws FileNotFoundException {
            FileOutputStream fos1 = new FileOutputStream("d:\1.txt");
            PrintWriter pw1 = new PrintWriter(fos1, true);
            // 第二个参数是否自动书刷新,如果是,不需要写flush方法
            pw1.println("I");
            pw1.println("Love");
            pw1.println("You");
            pw1.close();
        }
    }

    打印流复制文本文件:

    package demo;
    
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    public class Copy {
        public static void main(String[] args) throws IOException {
            BufferedReader bfr1 = new BufferedReader(new FileReader("d:\1.txt"));
            PrintWriter pw1 = new PrintWriter(new FileWriter("d:\2.txt"), true);
            String line = null;
            while ((line = bfr1.readLine()) != null) {
                pw1.println(line);
            }
            pw1.close();
            bfr1.close();
        }
    }

    最后简单写下工具类,可以大幅度降低代码量:

    apache的commons工具类:

    官网下载,复制到当前工程下的新建lib文件夹,右键build path即可

    几个功能强大的常用方法:

    package demo;
    
    import java.io.File;
    import java.io.IOException;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.commons.io.FilenameUtils;
    
    public class CommonsDemo {
        public static void main(String[] args) throws IOException {
            function1();//文件名操作
            function2();//文件操作
        }
        public static void function1(){
            String name = FilenameUtils.getExtension("a.java");
            System.out.println(name);//输出:java
            
            String filename = FilenameUtils.getName("d:\b.java");
            System.out.println(filename);//输出:b.java
            
            boolean a = FilenameUtils.isExtension("c.java", "java");
            System.out.println(a);//输出true,判断文件后缀的方法
        }    
        
        public static void function2() throws IOException{
            //读取文本文件的内容
            String s1 = FileUtils.readFileToString(new File("d:\1.txt"));
            System.out.println(s1);
            
            //写文本文件
            FileUtils.writeStringToFile(new File("d:\b.txt"), "java");
            //这里就创建了一个文本文件,并写入字符串java
            
            //复制文件(不限于文本)
            FileUtils.copyFile(new File("d:\1.txt"), new File("d:\11.txt"));
            
            //复制文件夹
            FileUtils.copyDirectoryToDirectory(new File("f:\new"), new File("d:\new"));
        }
    }
  • 相关阅读:
    51nod乘积之和
    Dell服务器安装OpenManage(OMSA)
    Nginx反向代理PHP
    搭建haproxy
    108. Convert Sorted Array to Binary Search Tree
    60. Permutation Sequence
    142. Linked List Cycle II
    129. Sum Root to Leaf Numbers
    118. Pascal's Triangle
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8306566.html
Copyright © 2011-2022 走看看