美文网首页
Java高级特性-文件操作

Java高级特性-文件操作

作者: Harper324 | 来源:发表于2019-02-26 23:26 被阅读0次

通过Java程序完成对于文件和文件夹的创建,删除,移动,读取和写入等操作。

基本操作

import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;

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

        /*创建文件夹*/
        File fileDir = new File("./src/file_operation/files/");
        fileDir.mkdir();
        File fileDir2=new File("./src/file_operation2/");
        fileDir2.mkdir();

        /*创建文件*/
        File txtFile=new File("./src/file_operation3/hi.txt");
        txtFile.createNewFile();
        System.out.println(txtFile.getName());

        /*重命名文件*/
        boolean isRename=fileDir2.renameTo(new File("./src/file_operation3"));
        System.out.println(isRename ? "Rename file successfully!" : "Rename file failed");

        /*创建文件*/
        File logFile = new File("./src/file_operation/files/error.log");
        File txFile=new File("./src/file_operation/files/hello.txt");
        txFile.createNewFile();
        Boolean isCreateSuccess = logFile.createNewFile();
        System.out.print(isCreateSuccess ? "Create file successfully!" : "Create file failed");

        /*获取文件夹内的文件*/
        String[] fileList=fileDir.list();
        for(int i=0; i<fileList.length;i++) {
            System.out.println(fileList[i]); //error.log;hello.txt
        }


        /*删除文件、文件夹*/
        File delFile=new File("file_operation3");

        Boolean isDeleteSuccess = delFile.delete();
        System.out.println(isDeleteSuccess? "Delete file successfully" : "Delete file failed");
    }
}

文件流操作

  • 定义
    向文件里面写入或者如何读取一个文件里面的
  • 文件流
    一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
  • Java读写文件的IO流分两大类
  1. 字节流:基类是Reader和Writer;
  2. 字符流:基类是InputStream和OutPutStream。


    Java文件流
  • 用法
  1. 创建文件对象:
    File file = new File("xxx.txt");
  2. 用流装载文件,如果用字符流的话,则是:
    FileReader fileReader = new FileReader(file);
  3. 如果用缓冲区,则用缓冲区装载流,用缓冲区是为了提高读写性能:
    BufferedReader bufferedReader = new BufferedReader(fileReader);
  4. 开始读写操作:
while ((str = bufferedReader.readLine()) != null) {
    stringBuffer.append(str);
} 

例子

public static void readFileByCharacter(String filePath) {
    File file = new File(filePath);
    FileReader reader = null;
    try {
        reader = new FileReader(file);
        int temp;
        String result = "";
        while ((temp = reader.read()) != -1) {
            result += (char)temp;
        }
        System.out.print(result);
    } catch (IOException e) {
        e.getStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

运行结果

结果

相关文章

网友评论

      本文标题:Java高级特性-文件操作

      本文链接:https://www.haomeiwen.com/subject/azstuqtx.html