Android之文件读写工具类

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

本类主要功能有:

1.创建文件功能;

2.向文件中写入字节数组;

3.向文件中写入字符串;

4.从文件中读取字节数组;

5.从文件中读取字符串;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
 
/**
 * 文件读写工具类
 *
 * @author bear
 *
 */
public class FileUtil {
 
    /**
     * 如果文件不存在,就创建文件
     *
     * @param path 文件路径
     * @return
     */
    public static String createIfNotExist(String path) {
        File file = new File(path);
        if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
        return path;
    }
 
    /**
     * 向文件中写入数据
     *
     * @param filePath
     *            目标文件全路径
     * @param data
     *            要写入的数据
     * @return 0表示成功写入,1表示没找到文件,2表示IO异常
     */
    public static boolean writeBytes(String filePath, byte[] data) {
        try {
            FileOutputStream fos = new FileOutputStream(filePath);
            fos.write(data);
            fos.close();
            return true;
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return false;
    }
 
    /**
     * 从文件中读取数据
     *
     * @param file
     * @return
     */
    public static byte[] readBytes(String file) {
        try {
            FileInputStream fis = new FileInputStream(file);
            int len = fis.available();
            byte[] buffer = new byte[len];
            fis.read(buffer);
            fis.close();
            return buffer;
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
 
        return null;
 
    }
 
    /**
     * 向文件中写入字符串String类型的内容
     *
     * @param file
     *            文件路径
     * @param content
     *            文件内容
     * @param charset
     *            写入时候所使用的字符集
     */
    public static void writeString(String file, String content, String charset) {
        try {
            byte[] data = content.getBytes(charset);
            writeBytes(file, data);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
 
    }
 
    /**
     * 从文件中读取数据,返回类型是字符串String类型
     *
     * @param file
     *            文件路径
     * @param charset
     *            读取文件时使用的字符集,如utf-8、GBK等
     * @return
     */
    public static String readString(String file, String charset) {
        byte[] data = readBytes(file);
        String ret = null;
 
        try {
            ret = new String(data, charset);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return ret;
    }
 
}