java编写的文件管理器代码分享

比较适合新手。逻辑上仍然有点问题。可以用于学习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有所帮助。

(0)

相关推荐

  • php文件管理基本功能简单操作

    (1)先要想好要操作哪个文件? (2)确定文件的路径? (3)要有什么文件管理功能? 一.先做一下简单的查看文件功能,文件中的文件和文件夹都显示,但是双击文件夹可以显示下一级子目录,双击"返回上一级"就可以返回到上一级目录 (1)先将需要管理的文件遍历出来,可以加个样式 <?php //打开目录资源 $dir = opendir($fname); //循环读取 while($n = readdir($dir)) { <br> //拼个路径 $url = $fname.

  • 11款基于Javascript的文件管理器

    1. eXtplorer eXtplorer是一个基于PHP与ExtJS开发的文件管理器.你可以用它浏览服务器上的文件与目录.编辑,复制,移动,删除文件.搜索,上传和删除文件.创建新的文件和目录.改变文件的权限属性. 2. Control.Filebrowser (演示地址) 采用Mootools框架开发的文件浏览器控件. 3. FileManager (演示地址) FileManager是一个基于Mootools PHP实现的文件管理器.提供浏览,删除,重命名,移动/复制(支持鼠标拖放操作)和

  • DEDECMS 重置管理员admin的密码的php文件

    DEDECMS 重置管理员admin的密码的php文件 <?php /*   作用:DEDECMS 重置管理员admin的密码为123456,适用于DedeCms V5   方法:上传到服务器DEDE系统的目录,运行此文件,然后进入后台修改密码   注意:重置后请立刻删除此文件!   作者:itlearner */ require_once(dirname(__FILE__)."/include/config_base.php");     $dsql = new DedeSql

  • Python 文件管理实例详解

    本文实例讲述了Python 文件管理的方法.分享给大家供大家参考,具体如下: 一.Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分.Python可以使文件管理极其简单,特别是和其它语言相对比. 以下,Peyton McCullough讲解了文件管理基础. 介绍 你玩过的游戏使用文件来保存存档:你下的订单保存在文件中:很明显,你早上写的报告也保存在文件中. 几乎以任何语言编写的众多应用程序中,文件管理是很重要的一部分.Python当然也不例外.在这篇文章中,我们将探究如何使

  • sourcesafe管理phpproj文件的补充说明(downmoon)

    后来发现sourcesafe管理界面,(Admin登录),tools--Options--File Types--File Group--Add "PHP"--"*.php;*.phpproj;*.sln" 问题好像没有完全解决,但出错的机率少了! 有没有更好的办法?

  • php需登录的文件上传管理系统

    本文给大家介绍一个不错的需要登录的php 文件上传管理系统,功能简单有需要了解的同学可参考. 代码如下 <?php $admin_pw="admin";//管理密码 $uploaddir="upload";//上传目录 session_start(); if($_GET['action']=="getcode") { setcode(); exit(); } if($_POST['password']==$admin_pw &&am

  • C# winfrom 模拟ftp文件管理实现代码

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Windows.Forms; namespace ConvertData{    class FtpUpDown    { string ftpServerIP;        string ftpUserID;        string ftp

  • ASP.NET 在线文件管理

    把它传到虚拟空间中,就可以很方便地把服务的各个目录和内容都遍历出来,或者选择下载.嘿嘿,大家不要利用它做坏事哦.这个作为大家学习ASP.NET 文件操作用的. WebFile1.0 系统介绍: 1.本系统由ASP.NET 3.5编写,在线管理文件包括整个服务器文件遍历,下载!!!! 2.本系统代码完全由手动编写,不产生任何一丁点的HTML代码冗余. 因为是第一版,许多功能都有待完善,不过,请各位把使用后的情况反馈一下,谢谢啦! 使用说明: 1.把WebFile.RAR解压,把Bin里面的两个链接

  • PHP 远程文件管理,可以给表格排序,遍历目录,时间排序

    复制代码 代码如下: <?php $rootdir="./"; $spacenum=0; $filenum=0; $allfilesize=0; echo "<h1>文件管理调试测试</h1>"; echo "<a href=''>重置</a>"; readLogDir($rootdir); echo "<hr>"; echo "Total files

  • Android开发之简单文件管理器实现方法

    本文实例讲述了Android开发之简单文件管理器实现方法.分享给大家供大家参考,具体如下: 这里运用Java I/O.ListActivity.Dialog.Bitmap等实现简单文件管理器,可以查看目录文件,修改文件名,删除文件,打开文件.比较简单,直接看代码: 先看布局文件: layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&q

随机推荐