class FileUtils
{
//文件目录下文件总数目
public static int fileNumber(File dir)
{
int filenumber = 0;
if(dir.exists())
{
for(File file:dir.listFiles())
{
if(file.isDirectory())
{
filenumber = filenumber+fileNumber(file);
}
else
{
filenumber++;
}
}
}
return filenumber;
} //判断文件是否为图片
public static boolean isImage(File imgFilePath)
{
try
{
FileInputStream imgfis = new FileInputStream(imgFilePath);
byte []imgbyte = new byte[imgfis.available()];
if((imgfis.read(imgbyte))!=-1)
{
if(imgbyte[0] == (byte) 'G' && imgbyte[1] == (byte) 'I' && imgbyte[2] == (byte) 'F')
{
return true;
}
else if(imgbyte[1] == (byte) 'P' && imgbyte[2] == (byte) 'N' && imgbyte[3] == (byte) 'G')
{
return true;
}
else if(imgbyte[6] == (byte) 'J' && imgbyte[7] == (byte) 'F' && imgbyte[8] == (byte) 'I'&& imgbyte[9] == (byte) 'F')
{
return true;
}
else
{
return false;
}
}
}catch(Exception e)
{
System.out.println(e.toString());
return false;
}
return false;
} //返回该目录下所有文件的文件数组
public static File[] listAllDirectory(File dir)
{
if(dir!=null&&dir.exists())
{
File []finalfile = new File[fileNumber(dir)];
int markfile =0;
int fileln=0;
File files[] = dir.listFiles();
for(int i=0;i<files.length;i++)
{
if(files[i].isDirectory())
{
listAllDirectory(files[i]);
}
else
{
finalfile[markfile++]=files[i];
}
}
return finalfile;
}
else
{
return null;
}
} //复制文件(用文件通道)
public static void copyFile(File oldFileAbsolutePath,File newFilePath)
{
File newFileAbsolutePath = new File(newFilePath,oldFileAbsolutePath.getName());
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in = null;
FileChannel out = null;
try {
fi = new FileInputStream(oldFileAbsolutePath);
fo = new FileOutputStream(newFileAbsolutePath);
in = fi.getChannel();
out = fo.getChannel();
in.transferTo(0, in.size(), out);
} catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
fi.close();
in.close();
fo.close();
out.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}

Java一个简单的文件工具集的更多相关文章

  1. 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传

    使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能.并且在界面上有radio 的选择内容也要上传 uploadify 插件的 下载和文档地址  ...

  2. Java实现一个简单的文件上传案例

    Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘 ...

  3. 基于node实现一个简单的脚手架工具(node控制台交互项目)

    实现控制台输入输出 实现文件读写操作 全原生实现一个简单的脚手架工具 实现vue-cli2源码 一.实现控制台输入输出 关于控制台的输入输出依然是基于node进程管理对象process,在proces ...

  4. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  5. Python的网络编程[5] -> BOOTP + TFTP + FTP -> 实现一个简单的文件传输流程

    BOOTP-TFTP-FTP 目录 文件传输流程 服务器建立过程 客户端建立过程 1 文件传输流程 / File Transfer Flow 利用BOOTP,TFTP,FTP三种传输协议,建立起客户端 ...

  6. Java压缩和解压缩文件工具

    Java压缩和解压缩文件工具 学习了: https://www.oschina.net/code/snippet_1021818_48130 http://blog.csdn.net/gaowen_h ...

  7. java最简单复制文件方法,不依赖任何框架

    java最简单复制文件方法   把java2.txt内容复制到java.txt中 import java.io.File; import java.io.IOException; import jav ...

  8. Java一个简单的贪吃蛇

    Java一个简单的贪吃蛇 虽然GUI已经要淘汰了,但是手动写写界面还是有助于理解语法的,像构造函数 ,函数调用,内部类,继承,接口.有助于半初学者强化理解. 直接上代码 游戏主体类: package ...

  9. Java开发的一个简单截屏工具

    //源代码 import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.Transfe ...

随机推荐

  1. Spring Cloud Alibaba | Nacos服务中心初探

    目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...

  2. [Lydsy2017年4月月赛]抵制克苏恩题解

    考试的时候以为就是简单的概率期望题,考完后知道是简单的概率期望DP题,完美爆零. 这道题数据范围很小,很容易让人想到状压,不过貌似没什么可压的.那么只能说明这道题复杂度很高了,状态数组f[o][i][ ...

  3. shell_umask用法

    我曾经用touch命令创建一个文件script,默认的权限是"rw-r- -r- -",有的朋友就有可能问为什么是这种组合?其实,这正是umask命令捣的鬼.在linux上输入:u ...

  4. 20131214-HTML基础-第二十一天

    [1]表单练习 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  5. 20141111-WCF获得Web路径

    在WCF中调用Server.MapPath 获取服务发布目录路径 在WCF中调用Server.MapPath 获取服务发布目录路径 在WCF中想使用Server.Map获取当前服务发布目录的绝对路径. ...

  6. map中存放list<实体类>解析

    package com: import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Arra ...

  7. javascript之正则表达式(二)

    js正则贪婪模式与非贪婪模式 类似于贪吃蛇游戏,越吃越长.而贪婪模式就是尽可能多的匹配. 默认是贪婪模式      (尽可能多的匹配)                           例子: va ...

  8. 1.svn 彻底clear时,注意代码备份 2.借助vc助手加头文件

    1.svn 彻底clear时,注意代码备份 2.不小心彻底clear可以在回收站找到 3.借助vc助手加头文件

  9. 实现一个代码自动生成(一):模板引擎Freemarker

    目录 前言 模板引擎FreeMarker 前言 在现在的开发当中,代码生成已经是必不可少的一个功能,每个公司都会有自己的一套定制的项目骨架,而实现代码自动生成,模板引擎是必不可少的,所以在这篇博客中, ...

  10. python面向过程编程 - ATM

    前面程序整合加自定义日志 1.文件摆放 ├── xxxx │ ├── src.py │ └── fil_mode.py │ └── data_time.py │ └── loading.py │ └─ ...