文档章节

Java文件操作

dong_zq
 dong_zq
发布于 2016/07/16 15:24
字数 483
阅读 14
收藏 0
点赞 0
评论 0

1.创建目录与文件

本节我们用到文件操作的内容有File类中的mkdir()方法和createNewFile()方法,其中mkdir()用于创建文件目录,createNewFile()方法用于创建文件。源码如下:

public static void main(String[] args) throws IOException{
    File file=new File("e://java目录");
    boolean b=file.mkdir();
    if(b){
        System.out.println("目录创建成功!");
        file=new File("e://java目录//java.txt");
        boolean c=file.createNewFile();
        if(c){
            System.out.println("文件创建成功!"); 
        }else{
            System.out.println("文件创建失败!");
        }
    }else{
        System.out.println("目录创建失败!");
    }
}

2.递归法遍历文件

这里简单写一个递归遍历文件目录的例子。源码如下:

public static void listFile(File file){
    if(file!=null){
        if(file.isDirectory()){    //是目录
            File f[]=file.listFiles();    //遍历目录
            if(f!=null){
                for(int i=0;i<f.length;i++){
                    listFile(f[i]);    //递归调用
                }
            }
        }else{    //是文件
            System.out.println("file");
        }
    }
}

3.文件复制(读写)

下面的两个函数实现了文件的缓冲复制和非缓冲复制的方法。

public class IOStreamTest {

	/*
	 * 缓冲
	 */
	public static void bufferStream() throws Exception {
		BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("F://2014大学英语六级词汇.doc"));
		BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("E://复制的文件1.doc"));
		int b=0;
		long startTime=System.currentTimeMillis();
		while((b=bufferedInputStream.read())!=-1){
			bufferedOutputStream.write(b);
		}
		bufferedInputStream.close();
		bufferedOutputStream.close();
		long endTime=System.currentTimeMillis();
		System.out.println("缓冲花费的时间是:"+(endTime-startTime));
	}
	/*
	 * 非缓冲
	 */
	public static void stream() throws Exception {
		InputStream inputStream=new FileInputStream("F://2014大学英语六级词汇.doc");
		OutputStream outputStream=new FileOutputStream("E://复制的文件.doc");
		int b=0;
		long startTime=System.currentTimeMillis();
		while((b=inputStream.read())!=-1){
			outputStream.write(b);
		}
		inputStream.close();
		outputStream.close();
		long endTime=System.currentTimeMillis();
		System.out.println("非缓冲花费的时间是:"+(endTime-startTime));
	}
	public static void main(String[] args) throws Exception {
		stream();
		bufferStream();
	}
}

4.web中文件上传

            File file = new File("d:/10085temp");
			if (!file.exists()) {
				file.mkdirs();
			}
			String dateString = DateUtil.formatString(new Date(), "yyyyMMddHHmmss");
			FileOutputStream fos = new FileOutputStream("d:/10085temp"+"/"+dateString+".jpg");
			int size = 0;
			byte[] buffer2 = new byte[2048];
			while ((size =in.read(buffer2, 0, 2048)) != -1) {
			     fos.write(buffer2, 0, size);
			}
			fos.close();

本文主要写了一些java文件io操作的一些内容,相互学习。

关注微信号获得更多文章:

© 著作权归作者所有

共有 人打赏支持
dong_zq
粉丝 0
博文 9
码字总数 5386
作品 0
郑州
高级程序员

暂无相关文章

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 54分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部