欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java編寫的文件管理器代碼分享

 更新時間:2015年04月01日 10:27:27   投稿:hebedich  
本文給大家分享的是一則使用java編寫的文件管理器的代碼,新人練手的作品,邏輯上還是有點小問題,大家?guī)兔纯窗伞?/div>

比較適合新手。邏輯上仍然有點問題。可以用于學習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;
 
/**
 * 文件的相關(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));
  }
 
  /**
   * 文件復制
   *
   * @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 {
        //從文件流中創(chuàng)建管道
        FileInputStream fis = new FileInputStream(oldFile);
        FileChannel creatChannel = fis.getChannel();
        //在文件輸出目標創(chuàng)建管道
        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”的數(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習java有所幫助。

相關(guān)文章

最新評論