最近项目中要用到File这个类,温故而知新,回过头来回顾下这个File类,File类主要是对磁盘目录,文件进行操作的Api,具体其实查JDK api 的File全能获取到。

下面写一些文件目录的基本操作练习一下:

1. 列出文件目录和文件,文件随机访问

package com.dcz.io;

import java.io.File;
import java.io.RandomAccessFile; public class RandomAccessFileDemo { public static void main(String[] args) throws Exception { File dir = new File("E:\\迅雷下载"); if(!dir.exists()){
throw new IllegalAccessException("给定的目录不存在!");
} if(!dir.isDirectory()){
throw new IllegalAccessException("给定的不是一个目录");
} File[] files = dir.listFiles();
for(File f : files){
if(f.isDirectory()){
FileUtil.listDirectory(f);
}else{
System.out.println(f);
}
} // -------------------------------------------------------------- // 创建目录
File fileDir = new File("file");
if(!fileDir.exists()){
fileDir.mkdir();
}
// 创建文件
File file = new File(fileDir, "abc.txt");
if(!file.exists()){
file.createNewFile();
} RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw"); // 读取文件指针【文件指针为:0】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer()); // 写字符(从API中可以查看到可以写很多类型的数据)
randomAccessFile.write('a'); // 读取文件指【文件指针为:1】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer()); // 写数字
randomAccessFile.writeInt(12); // 读取文件指【文件指针为:5】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer()); // 写中文
String str = "成长";
byte[] strArray = str.getBytes("GBK");
randomAccessFile.write(strArray);
// 读取文件指【文件指针为:9】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer()); // 文件指针归零
randomAccessFile.seek(0); // 创建缓冲
byte[] buffer = new byte[(int)randomAccessFile.length()];
// 读取文件内容
randomAccessFile.read(buffer); String fileContent = new String(buffer, "gbk"); // 打印文件内容
System.out.println("文件内容是:" + fileContent); // 关闭
randomAccessFile.close();
} }

Java File 常用操作回顾的更多相关文章

  1. java file 常用操作

    File file = new File("D:\\javaClass\\image"); // 测试此抽象路径名表示的文件或目录是否存在. // 当且仅当此抽象路径名表示的文件或 ...

  2. Java Map常用操作

    Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...

  3. Java 线程常用操作

    继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...

  4. Java IO基础--File常用操作(递归)

    File中经常会使用递归方法打印属性结构.统计文件夹下文件个数.子文件夹个数以及文件大小,可以作为递归的应用练习. 递归的写法,百度一搜一大堆,这里我使用对javabean方式封装了一下: packa ...

  5. HDFS Java API 常用操作

    package com.luogankun.hadoop.hdfs.api; import java.io.BufferedInputStream; import java.io.File; impo ...

  6. JAVA File常用的API介绍

    package coreJava; import java.io.File; import java.io.IOException; public class FileDemo { public st ...

  7. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  8. java File文件操作共用方法整理

    package org.jelly.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  9. java集合常用操作

    收集一些常用集合操作的代码,用于治疗健忘症,:) set转list //构造Map数据 Map<String, String> map = new HashMap<String, S ...

随机推荐

  1. [Java]double初始化问题

    如下: 1. 直接初始化 double[][] embossFilter = {{-1/9, 0, 1/9}, {-1/9, 1/9, 1/9}, {-1/9, 0, 1/9}}; 2. 赋值初始化 ...

  2. cocos2d 3.6 win7下的配置

    我搭建cocos2.6的开发环境需要安装工具包括: 1.Visual Studio 2012(由于不兼容win7,需要安装Update 4)和虚拟光驱daemon tool,虚拟光驱的下载地址:htt ...

  3. photobooth.js

    HTML5 Webcam for your website, photobooth.js

  4. Eclipse搭建Python开发环境+Python中文处理

    1.基本需求 1.Eclipse 集成开发环境下载 http://115.com/file/c2vz7io5    JDK6下载 http://115.com/file/c2vz7idq     2. ...

  5. 转:netflix推荐系统竞赛

    原文链接:Netflix recommendations: beyond the 5 stars (Part 1), (Part 2) 原文作者:Xavier Amatriain and Justin ...

  6. 自然语言9_NLTK计算中文高频词

    以下代码仅限于python2 NLTK计算中文高频词 >>> sinica_fd=nltk.FreqDist(sinica_treebank.words()) >>> ...

  7. ecshop商品-》购买记录

    注意事项:{insert name='bought_notes' id=$id}   有了产品ID一切都好说 html代码 <!-- #BeginLibraryItem "/libra ...

  8. 64bit upload app store

    Unity将来时:IL2CPP是什么? http://zhuanlan.zhihu.com/indieace/19972689 Unity3D将来时:IL2CPP(下) http://www.game ...

  9. 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

    JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

  10. Python-面向对象编程(二)

    面向对象进阶篇: 初级篇中我们介绍了面向对象基本知识: 1.面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 2.介绍了类中的对象.方法和属性及类中内置的方法 3.类 是一个模板 ...