zoukankan      html  css  js  c++  java
  • Java File类文件管理及IO读写、复制操作

    File类的总结:

    1.文件和文件夹的创建

    2.文件的读取

    3.文件的写入

    4.文件的复制(字符流、字节流、处理流)

    5.以图片地址下载图片

    文件和文件夹

    相关函数

     (boolean) mkdir() 创建此抽象路径名指定的目录
     (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
     (boolean) delete() 删除此抽象路径名表示的文件或目录
     (boolean) createNewFile() 当不存在此路径名指定名称的文件时,创建一个新的空文件。
     

    创建文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void NewFile(String pathString) {
        File file = new File(pathString);
        if (!file.exists()) {
            try {
                if (file.createNewFile()) {
                    System.out.println("文件创建成功");
                }
            catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        else {
            System.out.println("文件已存在");
        }
    }

    创建文件夹

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public static void NewFileBox(String pathString) {
        File file2 = new File(pathString);
        if (!file2.exists()) {
            if (file2.mkdirs()) {
                System.out.println("文件夹成功");
            }
        else {
            System.out.println("文件夹存在");
            file2.delete();//销毁文件
        }
    }

    应用:

    1
    2
    3
    4
    public static void main(String[] args) {
        NewFile("test/file.txt");
        NewFileBox("test/a/a/a/a");
    }

    Writer写入文件

    用FileWriter写入文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public  static void ForFileWriter(String string,String fileName) {
        File file = new File(fileName);
        try {
            FileWriter fWriter = new FileWriter(file);
            fWriter.write(string);
            fWriter.close();
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

    用BufferedWriter写入文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static void ForBufferedWriter(String string,String desFile) {
        BufferedWriter bWriter = null;
        try {
            bWriter = new BufferedWriter(new FileWriter(new File(desFile)));
            bWriter.write(string.toString());
            bWriter.close();
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    应用:

    1
    2
    3
    4
    public static void main(String[] args) {
        ForFileWriter("用FileWriter写入文件""test/writer1.txt");
        ForBufferedWriter("用BufferedWriter写入文件""test/writer2.txt");
    }

    Reader读取文件

    用FileReader读取文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void testReadByReader(String fileName){
        File file = new File(fileName);
        FileReader fis = null;
        try {
            fis =  new FileReader(file);
            char[] arr = new char[1024 1000 6];
            int len = fis.read(arr);
            String data = new String(arr, 0, len);
            fis.close();
            System.out.println(fileName+"中按FileReader读取的文件内容是: "+data);
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    用FileInputStream读取文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void testReadByInputStream(String fileName){
        File file = new File(fileName);
        FileInputStream fis = null;
        try {
            fis =  new FileInputStream(file);
            byte[] arr = new byte[1024 1000 6];
            int len = fis.read(arr);
            String data = new String(arr, 0, len);
            fis.close();
            System.out.println(fileName+"中按FileInputStream读取的文件内容是: "+data);
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    用BufferedReader读取文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void testReadByBufferedReader(String fileName) {
        BufferedReader bReader = null;
        String line = null;
        StringBuffer buffer = new StringBuffer();
        try {
            bReader =new BufferedReader(new FileReader(new File(fileName)));
            while ((line = bReader.readLine())!=null) {
                buffer.append(line).append(" ");
            }
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        System.out.println(fileName+"中按BufferedReader读取的文件内容是: "+buffer.toString());
    }

    应用:
    1
    2
    3
    4
    5
    public static void main(String[] args) {
        testReadByInputStream("res/我.txt");
        testReadByReader("res/我.txt");
        testReadByBufferedReader("res/我.txt");
    }

    文件的复制操作

    字符流复制

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void FileCopy1(String readfile,String writeFile) {
        try {
            FileReader input = new FileReader(readfile);
            FileWriter output = new FileWriter(writeFile);
            int read = input.read();       
            while ( read != -1 ) {
                output.write(read);
                read = input.read();
            }          
            input.close();
            output.close();
        catch (IOException e) {
            System.out.println(e);
        }
    }

    字节流复制

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static void FileCopy2(String readfile,String writeFile) {
        try {
            FileInputStream input = new FileInputStream(readfile);
            FileOutputStream output = new FileOutputStream(writeFile);
            int read = input.read();       
            while ( read != -1 ) {
                output.write(read);
                read = input.read();
            }          
            input.close();
            output.close();
        catch (IOException e) {
            System.out.println(e);
        }
    }

    处理流复制

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public static void FileCopy3(String readfile,String writeFile) {
        BufferedReader bReader = null;
        BufferedWriter bWriter = null;
        String line = null;
        try {
            bReader = new BufferedReader(new FileReader(new File(readfile)));
            bWriter = new BufferedWriter(new FileWriter(new File(writeFile)));
            while ((line = bReader.readLine())!=null) {
                bWriter.write(line);
                bWriter.newLine();
            }
            bWriter.close();
            bReader.close();
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

    应用:

    1
    2
    3
    4
    5
    6
    public static void main(String[] args) {
        FileCopy1("res/我.txt""test/1.txt");
        FileCopy2("res/我.txt""test/2.txt");
        FileCopy3("res/我.txt""test/3.txt");
        FileCopy2("res/me.jpg""test/33.jpg");
    }
    转自:http://www.open-open.com/lib/view/open1379940752711.html
  • 相关阅读:
    golang语法要点笔记
    环境配置
    实现chrome多用户独立cookie
    Golang遇到的问题记录
    php preg_replace去除html xml 注释
    C 基础
    多种写法
    mysql 查看当前数据库
    sql group by
    sql CONCAT()
  • 原文地址:https://www.cnblogs.com/91loveme/p/4063181.html
Copyright © 2011-2022 走看看