Java一个简单的文件工具集
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一个简单的文件工具集的更多相关文章
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能.并且在界面上有radio 的选择内容也要上传 uploadify 插件的 下载和文档地址 ...
- Java实现一个简单的文件上传案例
Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘 ...
- 基于node实现一个简单的脚手架工具(node控制台交互项目)
实现控制台输入输出 实现文件读写操作 全原生实现一个简单的脚手架工具 实现vue-cli2源码 一.实现控制台输入输出 关于控制台的输入输出依然是基于node进程管理对象process,在proces ...
- 用Qt写软件系列三:一个简单的系统工具(上)
导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...
- Python的网络编程[5] -> BOOTP + TFTP + FTP -> 实现一个简单的文件传输流程
BOOTP-TFTP-FTP 目录 文件传输流程 服务器建立过程 客户端建立过程 1 文件传输流程 / File Transfer Flow 利用BOOTP,TFTP,FTP三种传输协议,建立起客户端 ...
- Java压缩和解压缩文件工具
Java压缩和解压缩文件工具 学习了: https://www.oschina.net/code/snippet_1021818_48130 http://blog.csdn.net/gaowen_h ...
- java最简单复制文件方法,不依赖任何框架
java最简单复制文件方法 把java2.txt内容复制到java.txt中 import java.io.File; import java.io.IOException; import jav ...
- Java一个简单的贪吃蛇
Java一个简单的贪吃蛇 虽然GUI已经要淘汰了,但是手动写写界面还是有助于理解语法的,像构造函数 ,函数调用,内部类,继承,接口.有助于半初学者强化理解. 直接上代码 游戏主体类: package ...
- Java开发的一个简单截屏工具
//源代码 import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.Transfe ...
随机推荐
- Disruptor 详解 二
Disruptor 的大名从很久以前就听说了,但是一直没有时间:看完以后才发现其内部的思想异常清晰,很容易就能前移到其他的项目,所以仔细了解一下还是很有必要的这.篇博客将主要从源码角度分析,Disru ...
- c++学习书籍推荐《超越C++标准库:Boost库导论》下载
<超越C++标准库Boost库导论>不仅介绍了Boost库的功能.使用方法及注意事项,而且还深入讨论了Boost库的设计理念.解决问题的思想和技巧以及待处理的问题.因此,本书是一本了解Bo ...
- Java项目实例之---学生选课(面向对象复习)
学生选课(面向对象复习) 设计一个学生选课的程序,分别有学生类(Student)和课程类(Course) 学生类的属性有:学号(String),姓名(String),性别(char),所选科目(Cou ...
- ~~在python中踩过的坑以及问题~~(不断更新)
python说简单也不难,但是在这其中大大小小的点 真的是有够折磨人欸! 1. input 输入的时候,即使输入的是数字,数据类型也是字符串 2. 字符串本质上来看可以看作有序数组 3 ...
- linux字符设备驱动--基本知识介绍
一.设备驱动的分类 1.字符设备 字符设备是指那些能一个字节一个字节读取数据的设备,如LED灯.键盘.鼠标等.字符设备一般需要在驱动层实现open().close().read().write().i ...
- Dapper学习笔记
听说有个轻量化的orm Dapper,我就去了解下.试着对Sql Server和Mysql进行增删改查,体验不错.它不如EF臃肿,也比一般的封装灵活,比如我们封装了一个映射类.利用反射,在Execut ...
- Java零基础个人学习路线总结
之前学习Java的时候走过一些弯路,一直想写一篇文章来总结下自己对自学Java的认识.趁着这次开通专栏的机会整理一篇文章,既可以巩固所学,也可以为后来境遇相同的人做个参考. 首先提出几个问题 Java ...
- Spark学习之RDD
RDD概述 什么是RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合 ...
- python中的字典,if_while使用
1.定义两个字典用于表述你的个人信息 第一个字典存放你的这些信息:姓名.性别.年龄.身高第二个字典存放你的其他信息:性格.爱好.座右铭将两个字典合并为第三个字典之后,打印出来 觉得自己很年轻的,可以去 ...
- [leetcode] 80. Remove Duplicates from Sorted Array II (Medium)
排序数组去重题,保留重复两个次数以内的元素,不申请新的空间. 解法一: 因为已经排好序,所以出现重复的话只能是连续着,所以利用个变量存储出现次数,借此判断. Runtime: 20 ms, faste ...