一、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. 比较常见的const与指针的组合情况

    1.对于普通的const与基本类型组合,都是表示的是这是一个常量, const int a; int const a; 表示的意思是一样的,a是一个常量,不可改变 2.对于const与指针组合在一起, ...

  2. C语言基础07

    结构体与函数的区别: 1.函数是由相同数据类型的变量组成. 2.结构体可以有不同数据类型组合.可以包含char,int,float,数组等类型. struct 结构名称 { 数据类型 成员:   注意 ...

  3. uva 10245 The Closest Pair Problem_枚举

    题意:求任意两点之间的距离的最少一个距离 思路:枚举一下就可以了 #include <iostream> #include<cstdio> #include<cmath& ...

  4. js原生 + jQuery实现页面滚动字幕

    js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 ...

  5. Android_通过ContentObserver监听短信数据变化

    1.简单介绍 在小米等一些机型,无法接收系统发出的短信广播. 仅仅能通过观察者ContentObserver,去监听短信数据的变化 2.SMS数据介绍 content://sms/inbox     ...

  6. 理解js异步的概念

    js引擎在执行的时候是单线程的,这是大家都知道的.我们先来看一段代码: <html> <head> <meta http-equiv="Content-Type ...

  7. C#运算符的优先级

    在C#中,一共有38个常用的运用符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1.单元运算符和括号.2.常规算术运算符.3.位移运算符.4.比较运算符.5.逻辑运算符 ...

  8. Gabor滤波器学习

    本文的目的是用C实现生成Gabor模版,并对图像卷积.并简单提一下,Gabor滤波器在纹理特征提取上的应用. 一.什么是Gabor函数(以下内容含部分翻译自维基百科) 在图像处理中,Gabor函数是一 ...

  9. 第三方浏览器内核嵌入一、Crosswalk

    本篇分为三部分: 介绍Crosswalk背景 介绍Crosswalk集成步骤 为了减小体积,仅集成兼容ARM的Crosswalk(针对X86同理) PART_A Crosswalk背景介绍 Web技术 ...

  10. 初学.NET小技巧(不断更新)

    1.快速打出Console.WriteLine : 输入cw,然后按两下tab键. 2.创建一个函数快捷键:bool b = IsPrimeNumber();   把光标放到函数名上,Shift+Al ...