比較適合新手。邏輯上仍然有點問題。可以用于學習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有所幫助。
新聞熱點
疑難解答