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读取的文件内容是:\n"+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读取的文件内容是:\n"+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("\n");

        }

    catch (Exception e) {

        // TODO: handle exception

        e.printStackTrace();

    }

    System.out.println(fileName+"中按BufferedReader读取的文件内容是:\n"+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

时间: 2024-10-10 11:46:07

Java File类文件管理及IO读写、复制操作的相关文章

详解C#中System.IO.File类和System.IO.FileInfo类的用法

System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开方法:File.Open () 该方法的声明如下:     public static FileStream Open(string path,FileMode mode)  下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello. pri

Java File类总结和FileUtils类

Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. File类的对象可以是目录或者文件. 如果是目录,public boolean isDirectory()返回true: 如果是文件(非目录则是文件),public boolean isFile()返回true: 但是注意需要先判断文件是否存在,如果文件不存在,上面两个方法都返回false,即不存在的F

Java File类的学习

File类的概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类部分构造方法 /** * 从父抽象路径名和子路径名字符串创建新的File实例. */ private File(String child, File parent) { ... } /** * 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例. */ public File(String pathname) { ... } 路径分隔符和默认名称分隔符 /

java File类

今天我要总结一下java File类.这个是一个很重要的类. 首先是我画的思维导图. 还写了一些自己写的代码. /** * Date : 2017/6/24 * Author : Hsj * Description : */ public class Demo { /** * File(pathname)表示文件或文件夹路径 * File(String parent,child); * File(File parent,child); */ @Test public void fun() { /

JAVA File类 分析(三)

前面两篇与大家一起研究了unix下的文件系统,本篇将和大家一起分析 文件的属性和文件夹. ok,废话不说,先来段代码 #include <stdio.h> #include <sys/types.h> #include <dirent.h> void do_ls(char[]); void main(int ac,char *av[]){ if(ac==1) do_ls("."); else{ while(--ac){ printf("%s

java File类的基本操作

(如果有谁想要这个软件的话,在评论中留一个邮箱吧.) 前几天好几次看到有朋友晒出玩2048刷高分的截图,我就想我能不能也做一个2048呢?仔细想了想2048游戏的规律,发现其实逻辑上很简单,也不用研究什么算法,于是我马上觉得我可以很快写出来.当天下午我就用了四个小时完成了2048的基本功能.几天后觉得不满足,于是给我的2048加了存档.读档和后退一步的功能,这样就更好刷分了呢! 使用语言:C#: 平台:Visual Studio 2012 Win Form. 如何完成2048的基本功能呢?204

File类的基本操作之RandomAccessFile写入操作

今天学习java io中File类下的 RandomAccessfile,欢迎留言讨论,其他知识看api package org.mark.randomaccessfile; import java.io.File; import java.io.RandomAccessFile; /** * 写入操作 */ public class RandomAccessfileDemo1 { /** * @param args */ public static void main(String[] arg

java File类的常见用法

File类简单用法! [java] view plain copy print? [java] view plain copy print? import java.io.File; import java.io.IOException; public class TestFile { public void createFile(String path){ File file=new File(path); if(!file.exists()){//判断文件是否存在 try { file.cr

java——File类的用法整理

参考:http://www.codeceo.com/article/java-file-class.html 构造函数 public class FileDemo { public static void main(String[] args){ //构造函数File(String pathname) File f1 =new File("c:\\abc\\1.txt"); //File(String parent,String child) File f2 =new File(&qu