Java篇-File类之常用操作
/**
*
*/
package com.io.file;
import java.io.File;
import java.io.IOException;
/**
* <pre>
* <b>.</b>
* <b>Description:</b>
* file的工具类:包括遍历等
* <b>Author:</b> @xieji
* <b>Date:</b> 2016年11月14日 上午11:26:27
* <b>Copyright:</b> Copyright ©2013-2017 https://github.com/Jacob233 (github主页 0.0)
* <b>Changelog:</b>
* Ver Date Author Detail
* --------------------------------------------------------------------------------
* 1.0 2016年11月14日 上午11:26:27 @xieji
* </pre>
*/
public class FileUtils {
public void listDir(File file) throws IOException {
// 判读file是否存在,不存在抛出异常
if (!file.exists()) {
new IllegalArgumentException("文件目录:" + file + "不存在");
}
// 判断文件是否是目录文件
if (!file.isDirectory()) {
new IllegalArgumentException("该文件:" + file + "不是目录文件");
}
// 得到该目录文件下的所有子文件名称
// String listFileS[] = file.list();
// for (String childFile : listFileS) {
// System.out.println(childFile);
// }
// 得到该目录下的所有子文件
File listFile[] = file.listFiles();
// for(File childFile:listFile){
// System.out.println(childFile);
// }
// 得到该目录下的所有子文件及子文件目录中的文件
if (listFile != null && listFile.length > 0) {
for (File childFile : listFile) {
// 如果其是子文件目录,则遍历其子文件
if (childFile.isDirectory()) {
// 递归
listDir(childFile);
}
System.out.println(childFile);
}
}
}
}
文件读写类RandomAccessFile的应用
/**
*
*/
package com.io.file;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
/**
* <pre>
* <b>.</b>
* <b>Description:</b>
* RandomAccessFile:随机读写文件类
* 读写:文件的写入,只写入一个byte,从后八位写入 读,只读一个byte,读完后,指针自动指向下一个byte
* 文件读写完成后一定关闭
* 模式:两种:rw、r
* 关闭:文件用完即关
* <b>Author:</b> @xieji
* <b>Date:</b> 2016年11月14日 下午2:19:21
* <b>Copyright:</b> Copyright ©2013-2017 https://github.com/Jacob233 (github主页 0.0)
* <b>Changelog:</b>
* Ver Date Author Detail
* --------------------------------------------------------------------------------
* 1.0 2016年11月14日 下午2:19:21 @xieji
* </pre>
*/
public class RAFDemo {
// 随机读写文件测试
public void testRAF() throws IOException {
File demo = new File("demo");
// 判断file是否存在,若不存在则创建
if (!demo.exists()) {
demo.mkdir();
}
// 判断file是否存在文件,若不存在则创建
File content = new File(demo, "raf.txt");
if (!content.exists()) {
content.createNewFile();
}
// 获取读写文件类randomAccessFile(模式为读写rw,还有一种模式是r)
RandomAccessFile raf = new RandomAccessFile(content, "rw");
// raf通过指针实现随机读写
System.out.print(raf.getFilePointer() + " ");// 初始指针
// 写入(指针在移动)
raf.write('A');
System.out.print(raf.getFilePointer() + " ");
raf.write('B');
System.out.print(raf.getFilePointer() + " ");
// 1.写入整形 :写入只能从后八位,测试通过int最大数
int maxInt = 0x7fffffff;
raf.write(maxInt >>> 24 & 0xff);// 向右移动24位,即高八位
raf.write(maxInt >>> 16 & 0xff);
raf.write(maxInt >>> 8 & 0xff);
raf.write(maxInt >>> 0 & 0xff);
// 上述代码,可用下面的一行代替
// raf.writeInt(maxInt);
System.out.print(raf.getFilePointer() + " ");
// 2.写入字符串
String word = "谢";
byte b[] = word.getBytes("gbk");
raf.write(b);
System.out.println(raf.length());
System.out.print(raf.getFilePointer() + " ");
raf.writeChars(word);
System.out.print(raf.getFilePointer() + " ");
System.out.println();
// 读取文件
byte[] bytes = new byte[(int) raf.length()];
// 先将指针只会头节点
raf.seek(0);
raf.read(bytes);
System.out.println(Arrays.toString(bytes));
// for (byte c : bytes) {
// System.out.print(Integer.toHexString(c&0xff)+" ");
// }
// 关闭
raf.close();
}
}
Java篇-File类之常用操作的更多相关文章
- Java篇-File类之创建删除
/** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...
- Java 之 File类(文件操作)
一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...
- java之io之file类的常用操作
java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOE ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
- [Java] File类的常用操作
package test.file; import java.io.File; import java.io.IOException; public class TestFile { public s ...
- java中File类的常用所有方法及其应用
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置 ...
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- java.io.File类操作
一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...
- Java之File类
一.初见File类 java.io.File类代表系统中的文件(文件或目录) 常用构造方法 File(String pathname) File(String parent, String child ...
随机推荐
- Ubuntu 修改hosts
Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结果发现是需要修改hosts.修改完之后要重启网络.具体过程 ...
- HDU2459 后缀数组+RMQ
题目大意: 在原串中找到一个拥有连续相同子串最多的那个子串 比如dababababc中的abababab有4个连续的ab,是最多的 如果有同样多的输出字典序最小的那个 这里用后缀数组解决问题: 枚举连 ...
- win10 内测14352 加入了容器 和docker新功能,想体验的赶快升级
原来只在server2016上有,现在加入到win0内测版了windows 容器提供了两种级别的隔离技术,分别是Windows Server container 和Hyper-V Container ...
- iOS程序启动过程
First, the function creates the main application object (step 3 in the flowchart). If you specify ni ...
- 用ant组建测试框架
有时候由于公司网络或其它原因,无法采用maven,这时ant是一个比较理想的选择.以下是以ant为例,搭建一个测试框架 项目结构如下图: build.properties代码如下: # The sou ...
- Basic linux command-with detailed sample
Here I will list some parameters which people use very ofen, I will attach the output of the command ...
- NAT123内网映射端口
在无内网路由管理员权限的情况下,需要将内网web应用暴露到公网访问,此时需要用到花生壳或者nat123(两个应用都不是免费的,其中花生壳可以8元认证,以后免费使用,nat123按天收费) 花生壳 ht ...
- 生成linux shadow文件
-salt $(< /dev/urandom ) -stdin $$cVcjk1yK$sfdBsYIEr800Mdr3PsICe0 $$oBrzawaF$WeVJjd2eyoEEmJykNtMH ...
- JS 4 新特性:混合属性(mixins)
Ext JS4的新特征1:混合属性(mixins) 组合是Extjs4的新特性,可用于实现多继承的情况.该属性会以同步方式加载类文件,并实例化该类(译者推理其内部使用Ext.create方法).直接上 ...
- jQuery中的$.grep()方法的使用
标签: it 分类: jQuery grep()方法用于数组元素过滤筛选 grep(array,callback,invert) array:待过滤数组; callback:处理数组中的每个元素,并过 ...