文档章节

Java文件操作

dong_zq
 dong_zq
发布于 2016/07/16 15:24
字数 483
阅读 15
收藏 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
博文 10
码字总数 5386
作品 0
郑州
高级程序员

暂无文章

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部