Java File 常用操作回顾
最近项目中要用到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 常用操作回顾的更多相关文章
- java file 常用操作
File file = new File("D:\\javaClass\\image"); // 测试此抽象路径名表示的文件或目录是否存在. // 当且仅当此抽象路径名表示的文件或 ...
- Java Map常用操作
Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...
- Java 线程常用操作
继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...
- Java IO基础--File常用操作(递归)
File中经常会使用递归方法打印属性结构.统计文件夹下文件个数.子文件夹个数以及文件大小,可以作为递归的应用练习. 递归的写法,百度一搜一大堆,这里我使用对javabean方式封装了一下: packa ...
- HDFS Java API 常用操作
package com.luogankun.hadoop.hdfs.api; import java.io.BufferedInputStream; import java.io.File; impo ...
- JAVA File常用的API介绍
package coreJava; import java.io.File; import java.io.IOException; public class FileDemo { public st ...
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- java File文件操作共用方法整理
package org.jelly.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...
- java集合常用操作
收集一些常用集合操作的代码,用于治疗健忘症,:) set转list //构造Map数据 Map<String, String> map = new HashMap<String, S ...
随机推荐
- python运维开发之路02
年底事多,在公司忙成狗,难得把博客更新了下 本章主要内容是collections模块的介绍(队列,计数器,默认字典,有序字典,可命名元组,以及简单介绍深浅拷贝!) collections模块 coll ...
- tcpdump抓包命令
本文转自 : http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html http://www.itshouce.com.cn/l ...
- Cheminformatic Set
蛋白: 数据库 1. 蛋白晶体结构数据库 http://www.rcsb.org/pdb/home/home.do 2. 蛋白注释数据库 http://www.uniprot.org/ 工具 1. r ...
- SimpleDateFormat 12小时制以及24小时制的写法
有些代码按了复制键没有效果,但是其实已经复制到剪贴板上面了,大家请注意哦! 我的文章有时会稍有修改,转载请注明出处哦! 原文地址:SimpleDateFormat 12小时制以及24小时制的写法 去代 ...
- VMWare12虚拟CentOS7共享文件的过程
环境: 宿主机:Win10企业版,虚拟机:VMware pro12.5,虚拟OS:CentOS7.0 过程: VMware菜单:虚拟机->设置->选项,选中宿主机要共享的磁盘或目录,点击确 ...
- mvn添加本地jar
mvn install:install-file -DgroupId=com.oracle "-DartifactId=ojdbc6" "-Dversion=11.2.0 ...
- $(document).ready、body.Onload()和 $(window).load的区别
window.load(function(){...})和body.onload()都存在同样一个问题,那都是在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行的, ...
- HTML学习体会
HTML介绍 华丽的网页界面,都是由静态网页和一些动态效果,插入的视频,和flash等等,不得不说,静态网页的制作,是学习网页的必经之路,可见静态网页在学习网页的前端是十分重要.静态网页主要是通过ht ...
- Android学习笔记——ProgressBar
该工程的功能是实现进度条的显示,按以下按钮进度条增加10% 以下代码是MainActivity.java中的代码 package com.example.progressbar; import and ...
- Cloudservice程序设置Idle timeout
部署的云服务程序,默认的idle timeout是4分钟,意味着如果你通过一个workerrole发布了wcf服务,客户端第一次调用服务方法后,再过4分钟尝试去重新调用服务,会报错,具体测试如下: 1 ...