io流--打印流

打印流的概述:只有输出(目的地)

打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式.

打印流根据流的分类:

  字节打印流  PrintStream

 字符打印流  PrintWriter

l 方法:

void print(String str): 输出任意类型的数据,

void println(String str): 输出任意类型的数据,自动写入换行操作

 

package com.oracle.demo03;

 

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.PrintWriter;

 

public class Demo01 {

 

  public static void main(String[] args) throws FileNotFoundException {

     // 明确目的地

  FileOutputStream fos=new FileOutputStream("D:\\demo0611\\abc.txt",true);

     //创建打印流

PrintWriterpw=newPrintWriter(fos,true);//加true是自动刷新,不需要加fluch

//.print()打印不换行

     pw.print("你好");

//.println()打印换行

     pw.println("郭达");

     pw.println("hellow");

       //释放资源

     //pw.close()

  }

 

1.1                  打印流完成数据自动刷新

可以通过构造方法,完成文件数据的自动刷新功能

l  构造方法:

l  开启文件自动刷新写入功能

public PrintWriter(OutputStream out, boolean autoFlush)

public PrintWriter(Writer out, boolean autoFlush)

 

}

 package com.oracle.demo03;

 

import java.io.BufferedInputStream;

import java.io.BufferedReader;

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.io.PrintStream;

import java.io.PrintWriter;

 

public class copy {

 

  public static void main(String[] args) throws IOException {

     //明确数据源

      FileReader  fr=new FileReader("D:\\demo0611\\abc.txt");

         //让添加缓冲流

      BufferedReader br=new BufferedReader (fr);

      //明确目的地

      FileWriter fw= new FileWriter("D:\\demo0611\\b\\abc.txt");

      //添加打印流

      PrintWriter  pw=new  PrintWriter  (fw,true);

      //开始复制

      String line=null;//

      while((line=br.readLine())!=null){

        pw.println(line);

      }

      //释放资源

        br.close();

        pw.close();

 

  }

l   

}

 

commons-IO

导入classpath

加入classpath的第三方jar包内的class文件才能在项目中使用

创建lib文件夹

将commons-io.jar拷贝到lib文件夹

右键点击commons-io.jar,Build Path→Add to Build Path

FilenameUtils

这个工具类是用来处理文件名(译者注:包含文件路径)的,他可以轻松解决不同操作系统文件名称规范不同的问题

l  常用方法:

getExtension(String path):获取文件的扩展名;

getName(String filename):获取文件名;

isExtension(String fileName,String ext):判断fileName是否是ext后缀名;

package com.oracle.demo03;
import org.apache.commons.io.FilenameUtils;
public class demo02 {

  public static void main(String[] args) {

      // 获取后缀名

       String ext=FilenameUtils.getExtension("D:\\demo0611\\jdbc1.8.zip");    

       System.out.println("后缀名为: "+ext);

         //获取文件名

       String  filename=FilenameUtils.getName("D:\\demo0611\\jdbc1.8.zip");

       System.out.println("文件名: "+filename);

     

       //结果

       /*后缀名为: zip

                             文件名: jdbc1.8.zip*/

     ////判断是否以txt为结尾
      
       boolean flag=FilenameUtils.isExtension("D:\\demo0611\\jdbc1.8.zip", "txt");

       System.out.println(flag);//false
    

  }
}

 

FileUtils

提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法。

l  常用方法:

readFileToString(File file):读取文件内容,并返回一个String;

writeStringToFile(File file,String content):将内容content写入到file中;

copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制

copyFile(File srcFile,File destFile);文件复制

package com.oracle.demo03;
import java.io.File
import java.io.IOException

import org.apache.commons.io.FileUtils;
public class demo03 {
  public static void main(String[] args) throws IOException {
         get2();   
 }

       public static void get1() throws IOException{
         // File对象明确数据源

                //读取文件数据

               File  file=new File("D:\\demo0611\\abc.txt");

            String content=FileUtils.readFileToString(file);

            System.out.println(content);     

         }

    public static void get2()throws IOException{

    //文件夹复制

    //明确数据源

     File src=new File("D:\\demo0611");

     //明确目的地

     File dest=new File("D:\\demo0823");

     FileUtils.copyDirectoryToDirectory(src,dest); 

    }

    public static void get3(){
    }
 
}

 

posted @ 2019-09-04 14:02  腊月出去玩  阅读(150)  评论(0编辑  收藏  举报