一、File类

文件的创建

package file;

import java.io.File;
import java.io.IOException; public class CreateFile { public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop\\demo.txt");
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
}

文件的删除

package file;

import java.io.File;

public class DeleteFile {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");
file.delete();
}
}

文件的查找

package file;

import java.io.File;

public class ExistFile {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");
if(file.exists()){
System.out.println("文件存在!");
}else{
System.out.println("文件不存在!");
}
}
}

路径的判断

package file;

import java.io.File;

public class JudgeFile {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file1=new File("C:\\Users\\Public\\Desktop\\demo.txt");
File file2=new File("C:\\Users\\Public\\Desktop");
System.out.println(file1.isFile());
System.out.println(file2.isDirectory());
}
}

目录输出

直接文件输出

package file;

import java.io.File;

public class FilePath {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop");
String path[]=file.list();
int len=path.length;
for(int i=0;i<len;i++){
System.out.println(path[i]);
}
}
}

路径输出

package file;

import java.io.File;

public class FilePath {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop");
File[] path=file.listFiles();//--------------------这里发生了改变,以File对象为数组元素
int len=path.length;
for(int i=0;i<len;i++){
System.out.println(path[i]);
}
}
}

建立文件夹

package file;

import java.io.File;
public class CreateDirect {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop\\demo");
file.mkdir();//创建demo文件夹
}
} }

在建立一个文件的同时在文件夹内建立文件

package file;

import java.io.File;
import java.io.IOException; public class CreateDirect { public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop\\javatest\\demo.txt");
file.getParentFile().mkdir();//创建d\\javatest文件夹
try {
file.createNewFile();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} }

注意:因为linux与windows的文件层次分隔符分别为/和\,所以为了实现代码的跨平台,本文中的\\皆可改为File.separator.

问题:列出某个目录下的全部文件(包括子目录中的子文件)

import java.io.File;

public class ListDirectoryDemo {

	public static void main(String[] args) {
File file = new File("d:" + File.separator);
list(file);
} public static void list(File file) {
if (file.isDirectory()) {
File lists[] = file.listFiles();
if (lists != null) {
for (int i = 0; i < lists.length; i++) {
list(lists[i]);// 列出内容
}
}
}
System.out.println(file);
}
}

二、RandomAccessFile

构造方法:public RandomAccessFile(File file,String mode)throws FileNotFoundException

写操作:

import java.io.File;
import java.io.RandomAccessFile; public class RandomWrite {
public static void main(String[] args) throws Exception {// 所有异常抛出
File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");// 指定要操作的文件
RandomAccessFile raf = new RandomAccessFile(file, "rw");// 以读写的形式进行操作
// 写入第一条数据
String name = "zhangsan";// 表示姓名
int age = 20; // 表示年龄
raf.writeBytes(name); // 以字节的方式将字符串写入
raf.writeInt(age); // 写入整型数据
// 写入第二条数据
name = "lisi ";// 表示姓名
age = 19; // 表示年龄
raf.writeBytes(name); // 以字节的方式将字符串写入
raf.writeInt(age); // 写入整型数据
// 写入第三条数据
name = "wangwu ";// 表示姓名
age = 21; // 表示年龄
raf.writeBytes(name); // 以字节的方式将字符串写入
raf.writeInt(age); // 写入整型数据
raf.close();// 文件操作的最后一定要关闭
} }

读操作:

import java.io.File;
import java.io.RandomAccessFile; public class RandomRead {
public static void main(String[] args) throws Exception {// 所有异常抛出
File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");// 指定要操作的文件
RandomAccessFile raf = new RandomAccessFile(file, "r");// 以读的形式进行操作
byte b[] = null;// 定义字节数组
String name = null;
int age = 0;
b = new byte[8];
raf.skipBytes(12); // 跨过第一个人的信息
System.out.println("第二个人的信息:");
for (int i = 0; i < 8; i++) {
b[i] = raf.readByte(); // 读取字节
}
age = raf.readInt();// 读取数字
System.out.println("\t|- 姓名:" + new String(b));
System.out.println("\t|- 年龄:" + age);
raf.seek(0);// 回到开始位置
System.out.println("第一个人的信息:");
for (int i = 0; i < 8; i++) {
b[i] = raf.readByte(); // 读取字节
}
age = raf.readInt();// 读取数字
System.out.println("\t|- 姓名:" + new String(b));
System.out.println("\t|- 年龄:" + age);
raf.skipBytes(12); // 跨过第二个人的信息
System.out.println("第三个人的信息:");
for (int i = 0; i < 8; i++) {
b[i] = raf.readByte(); // 读取字节
}
age = raf.readInt();// 读取数字
System.out.println("\t|- 姓名:" + new String(b));
System.out.println("\t|- 年龄:" + age);
raf.close();// 文件操作的最后一定要关闭
}
}

java学习之文件基本操作的更多相关文章

  1. Java学习-022-Properties 文件数据写入

    Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...

  2. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  3. Java学习-018-EXCEL 文件写入实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  4. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  5. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  6. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

  7. python学习9—文件基本操作与高级操作

    python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...

  8. Java 实现 HDFS 文件基本操作

    1. pom <hadoop.version>2.7.3</hadoop.version> <dependency> <groupId>org.apac ...

  9. Java学习---下载文件并且对文件编码

    import java.io.IOException; import java.net.URLEncoder; import sun.misc.BASE64Encoder; public class ...

随机推荐

  1. Sum Problem-hdu-1001

    Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge). In this problem, your task is to calc ...

  2. nginx请求体读取(二)

    2,丢弃请求体 一个模块想要主动的丢弃客户端发过的请求体,可以调用nginx核心提供的ngx_http_discard_request_body()接口,主动丢弃的原因可能有很多种,如模块的业务逻辑压 ...

  3. android重要的对象

    Context----------------访问全局信息的api Activity Window Intent/Bundle ImageView----------onclick View----- ...

  4. webview的一些问题

    一些小问题. Webview 里面的网页,如果有 input ,需要输入,但是点上去却没反应,输入法不出来.这种情况是因为 webview 没有获取焦点.需要在 java 里面给 webview 设置 ...

  5. vi全局替换方法

    来自:http://blog.sina.com.cn/s/blog_736f1c59010136ry.html 1. 基本的替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sk ...

  6. 创建FBI树

    需求:数串由2^n个'0' '1'数串组成,对于一个数串,有01混合出现,则视为F,全0数串为B,全1数串为I. 将给定数串进行切割,如10010011可以用二叉树表示为 F(10010011) / ...

  7. virtualbox 复制多个虚拟机 (宿主机redhat)

    我用VirtualBox做了一个winxp虚拟镜像. 想实现不重新安装而直接复制几个,也就是同时装载几个虚拟机. 但是直接复制已安装好机子的vdi文件,系统会报uuid已存在的错误. 所以,就需要修改 ...

  8. PyCharm设置字体

    pycharm 是很好的一个IDE,就是默认字体太小了,真的太小了,改字体的地方很隐晦.找了半天,贴图: 然后发现size 不能更改,所以,点击save as创建一个方案,然后修改自己的方案.这个时候 ...

  9. 一个关于JTabel的DefaultCellEditor渲染很棒的例子

    import java.awt.Color; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;   imp ...

  10. Android学习总结——Broadcast

    一.利用BroadcastReceiever监听短信 AndroidManifest.xml <?xml version="1.0" encoding="utf-8 ...