Android 建立文件夹、生成文件并写入文本文件内容

时间:2022-08-06 12:27:47

一、首先添加权限

1
<uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>

二、建立文件夹、生成文件并写入文本文件内容代码

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
private void initData() {
     String filePath = "/sdcard/Test/" ;
     String fileName = "log.txt" ;
     
     writeTxtToFile( "txt content" , filePath, fileName);
}
 
// 将字符串写入到文本文件中
public void writeTxtToFile(String strcontent, String filePath, String fileName) {
     //生成文件夹之后,再生成文件,不然会出错
     makeFilePath(filePath, fileName);
     
     String strFilePath = filePath+fileName;
     // 每次写入时,都换行写
     String strContent = strcontent + "\r\n" ;
     try {
         File file = new File(strFilePath);
         if (!file.exists()) {
             Log.d( "TestFile" , "Create the file:" + strFilePath);
             file.getParentFile().mkdirs();
             file.createNewFile();
         }
         RandomAccessFile raf = new RandomAccessFile(file, "rwd" );
         raf.seek(file.length());
         raf.write(strContent.getBytes());
         raf.close();
     } catch (Exception e) {
         Log.e( "TestFile" , "Error on write File:" + e);
     }
}
 
// 生成文件
public File makeFilePath(String filePath, String fileName) {
     File file = null ;
     makeRootDirectory(filePath);
     try {
         file = new File(filePath + fileName);
         if (!file.exists()) {
             file.createNewFile();
         }
     } catch (Exception e) {
         e.printStackTrace();
     }
     return file;
}
 
// 生成文件夹
public static void makeRootDirectory(String filePath) {
     File file = null ;
     try {
         file = new File(filePath);
         if (!file.exists()) {
             file.mkdir();
         }
     } catch (Exception e) {
         Log.i( "error:" , e+ "" );
     }
}