比較適合新手。邏輯上仍然有點(diǎn)問題。可以用于學(xué)習(xí)java文件操作
下載地址:http://yun.baidu.com/share/link?shareid=4184742416&uk=1312160419
下面是主要的JAVA文件操作代碼
FileHelp.java
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
|
package self.yy.filesystem.fileutil; import android.content.Context; import android.util.Log; import android.widget.Toast; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.URI; import java.nio.channels.FileChannel; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; /** * 文件的相關(guān)幫助類 */ public class FileHelp { private static final String TAG = "FileHelp" ; public static final String JPG = ".jpg" ; public static final String PNG = ".png" ; public static final String MP3 = ".mp3" ; public static final String MP4 = ".mp4" ; public static final String APK = ".apk" ; //上下文 private static Context context; /** * txt文本 */ public static int ISTXT = 0 ; private static String TXT = ".txt" ; /** * 文件刪除 */ public static boolean deletfile(File file) { if (file.isDirectory()) { if (file.listFiles().length > 0 ) { for (File i : file.listFiles()) { deletfile(i); } } else { file.delete(); } } else { file.delete(); } file.delete(); return true ; } /** * 新建文件夾 * 返回true 文件創(chuàng)建成功 * 返回false 文件創(chuàng)建失敗 ->文件存在 * 返回true 文件創(chuàng)建成功,返回false 文件創(chuàng)建失敗 (文件存在、權(quán)限不夠) */ public static boolean creatFile(String filename, String path) { File file = new File(path + File.separator + filename); if (file.exists()) { return false ; } else { file.mkdir(); return true ; } } /** * 創(chuàng)建自定義文件類型文件 * 隨意為文件夾 * 0 txt文本 * * @return boolean * 返回true 文件創(chuàng)建成功,返回false 文件創(chuàng)建失敗 (文件存在、權(quán)限不夠) * * */ public static boolean creatFile(String filename, String path, int type) { String ptr = path + File.separator + filename; File file; switch (type) { case 0 : file = new File(ptr + TXT); break ; default : file = new File(ptr); break ; } if (file.exists()) { return false ; } else { try { file.createNewFile(); return true ; } catch (IOException e) { return false ; } } } /** * 文件重名 * * @param name 新創(chuàng)建的文件名 * @param file 創(chuàng)建文件的地方 */ public static boolean reName(String name, File file) { String pathStr = file.getParent() + File.separator + name; return file.renameTo( new File(pathStr)); } /** * 文件復(fù)制 * * @param oldFile 要被復(fù)制的文件 * @param toNewPath 復(fù)制到的地方 * @return boolean trun 復(fù)制成功,false 復(fù)制失敗 * * */ public static boolean copeyFile(File oldFile, String toNewPath) { String newfilepath = toNewPath + File.separator + oldFile.getName(); File temp = new File(newfilepath); //判斷復(fù)制到的文件路徑是否存在相對文件,如果存在,停止該操作 if (temp.exists()) { return false ; } //判斷復(fù)制的文件類型是否是文件夾 if (oldFile.isDirectory()) { temp.mkdir(); for (File i : oldFile.listFiles()) { copeyFile(i, temp.getPath()); } } else { //如果是文件,則進(jìn)行管道復(fù)制 try { //從文件流中創(chuàng)建管道 FileInputStream fis = new FileInputStream(oldFile); FileChannel creatChannel = fis.getChannel(); //在文件輸出目標(biāo)創(chuàng)建管道 FileOutputStream fos = new FileOutputStream(newfilepath); FileChannel getChannel = fos.getChannel(); //進(jìn)行文件復(fù)制(管道對接) getChannel.transferFrom(creatChannel, 0 , creatChannel.size()); getChannel.close(); creatChannel.close(); fos.flush(); fos.close(); fis.close(); } catch (Exception e) { Log.i(TAG, "copey defeated,mebey file was existed" ); e.printStackTrace(); return false ; } } return true ; } /** * 文件剪切 * * @param oldFile 要被剪切的文件 * @param newFilePath 剪切到的地方 * @return boolean trun 剪切成功,false 剪切失敗 */ public static boolean cutFile(File oldFile, String newFilePath) { if (copeyFile(oldFile, newFilePath)) { oldFile.delete(); return true ; } else { return false ; } } /** * 獲取對應(yīng)文件類型的問件集 * * @param dir 文件夾 * @param type 文件類型,格式".xxx" * @return List<file> 文件集合 */ public static List<File> getTheTypeFile(File dir, String type) { List<File> files = new ArrayList<File>(); for (File i : dir.listFiles()) { String filesTyepe = getFileType(i); if (type.equals(filesTyepe)) { files.add(i); } } return files; } /** * 獲取文件類型 * * @param file 需要驗(yàn)證的文件 * @return String 文件類型 * 如: * 傳入文件名為“test.txt”的文件 * 返回 .txt * * */ public static String getFileType(File file) { String fileName = file.getName(); if (fileName.contains( "." )) { String fileType = fileName.substring(fileName.lastIndexOf( "." ), fileName.length()); return fileType; } else { return null ; } } /** * 獲取文件最后操作時(shí)間類 * * @param file 需要查詢的文件類 * @return “yy/MM/dd HH:mm:ss”的數(shù)據(jù)字符串 * 如: * 14/07/01 01:02:03 */ public static String getCreatTime(File file) { long time = file.lastModified(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat( "yy/MM/dd HH:mm:ss" ); String date = dateFormat.format(calendar.getTime()); return date; } } |
以上所述就是本文的全部內(nèi)容了,希望能夠?qū)Υ蠹覍W(xué)習(xí)java有所幫助。