Java File I/O 操作

一、实验Demo

1. UTF_8格式读写文件节点

import java.io.*;
import static java.nio.charset.StandardCharsets.UTF_8;

public class FileIo {
    static final String TAG = "FileIO";

    public static void main(String[] args) {
            String path = "./tmp.txt";
            writeProcNode(path, "3");
            System.out.println(readProcNode(path));
    }

    static boolean writeProcNode(String filePath, String val) {
        File file = new File(filePath);
        if (!file.exists()) {
            return false;
        }

        try (FileOutputStream os = new FileOutputStream(file)) { //放在里面可以不用close os
            byte[] data = val.getBytes(UTF_8);
            os.write(data);
        } catch (IOException e) {
            //Log.e(TAG, "writeProcNode: " + e.getMessage());
            return false;
        }

        return true;
    }

    static String readProcNode(String filePath) {
        File file = new File(filePath);
        if (!file.exists()) {
            return null;
        }

        String rs = null;
        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            rs = br.readLine();
        } catch (IOException e) {
            //Log.e(TAG, "readProcNode: " + e.getMessage());
        }

        return rs;
    }
}

/*
$ java FileIo 
3
$ cat tmp.txt 
3 //ASCII码为0x33
*/

参考:https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

 注意:try-with-resources 语句可以像普通的 try 语句一样有 catch 和 finally 块。 在 try-with-resources 语句中,任何 catch 或 finally 块都会在声明的资源关闭后运行。

posted on 2022-07-25 16:22  Hello-World3  阅读(53)  评论(0编辑  收藏  举报

导航