比較適合新手。邏輯上還是有點問題。可以用於學習java檔案操作
下載網址:http://yun.baidu.com/share/link?shareid=4184742416&uk=1312160419
下面是主要的JAVA檔案操作程式碼
FileHelp.java
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; /** * 檔案的相關幫助類別*/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 檔案建立成功* 回傳false 檔案建立失敗->檔案存在* 回傳true 檔案建立成功,返回false 檔案建立失敗(檔案存在、權限不夠) */ 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; } } /** * 建立自訂檔案類型檔案* 隨意為資料夾* 0 txt文字* * @return boolean * 傳回true 檔案建立成功,回傳false 檔案建立失敗(檔案存在、權限不夠) * * */ 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 新建立的檔案名稱* @param file 建立檔案的地方* / public static boolean reName(String name, File file) { String pathStr = file.getParent() + File.separator + name; return file.renameTo(new File(pathStr)); } /** * 檔案複製* * @param oldFile 要被複製的檔案* @param toNewPath 複製到的地方* @return boolean trun 複製成功,false 複製失敗* * */ public static boolean copeyFile(File oldFile, String toNewPath) { String newfilepath = toNewPath + File.separator + oldFile.getName(); File temp = new File(newfilepath); //判斷複製到的文件路徑是否存在相對文件,如果存在,停止該操作if (temp.exists()) { return false; } //判斷複製的檔案類型是否是資料夾if (oldFile.isDirectory()) { temp.mkdir(); for (File i : oldFile.listFiles()) { copeyFile(i, temp.getPath()); } } else { //如果是文件,則進行管道複製try { //從文件流中創建管道FileInputStream fis = new FileInputStream(oldFile); FileChannel creatChannel = fis.getChannel(); / /在檔案輸出目標建立管道FileOutputStream fos = new FileOutputStream(newfilepath); FileChannel getChannel = fos.getChannel(); //進行檔案複製(管道對接) 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; } } /** * 取得對應檔案類型的問件集* * @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 需要驗證的檔案* @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; } } /** * 取得檔案最後操作時間類別* * @param file 需要查詢的檔案類別* @return “yy/MM/dd HH:mm:ss”的資料字串* 如: * 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; } } }
以上所述就是本文的全部內容了,希望能對大家學習java有所幫助。