java学习之文件基本操作
一、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学习之文件基本操作的更多相关文章
- Java学习-022-Properties 文件数据写入
Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...
- Java学习-019-Properties 文件读取实例源代码
在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...
- Java学习-018-EXCEL 文件写入实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-017-EXCEL 文件读取实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-016-CSV 文件读取实例源代码
上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...
- Java学习-015-CSV 文件写入实例源代码
在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...
- python学习9—文件基本操作与高级操作
python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...
- Java 实现 HDFS 文件基本操作
1. pom <hadoop.version>2.7.3</hadoop.version> <dependency> <groupId>org.apac ...
- Java学习---下载文件并且对文件编码
import java.io.IOException; import java.net.URLEncoder; import sun.misc.BASE64Encoder; public class ...
随机推荐
- 使用SelectClipRgn注意事项
SelectClipRgn 函数功能:该函数选择一个区域作为指定设备环境的当前剪切区域. 函数原型:int SelectClipRgn(HDc hdc, HRGN hrgn): 参数: hdc:设备环 ...
- SQL Server 索引整理与堆重组。
重新组织索引: alter index idx_OrderID on dbo.OrderDetail reorganize | reorganize;---可以rebuild 也可 ...
- SQL Sever MYSQL 视图实现的 2 种方式
前期准备: 1.create table person # 假设这张表用来收录所以有地球人的基本信息. (ID bigint , Name varchar(16), Country varchar( ...
- 【写一个自己的js库】 5.添加修改样式的方法
1.根据id或class或tag修改样式,样式名是-连接格式的. function setStyleById(elem, styles){ if(!(elem = $(elem)) return fa ...
- Unix/Linux环境C编程入门教程(32) 环境变量那些事儿
1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...
- centos Ddos防范开源软件使用及apache ab压测 测试
1,检索特定字符的相同行,用于过滤点一些命令行的头说明
- Ubuntu12.04 Jdk1.7 Tomct7.0部署配置
jdk1.7 下载 http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz?AuthParam=1 ...
- Centos下需安装Pytnon,Pytharm
1.在www.python.org/PIPY/下载python3.4.2.tar.gz 2.在安装之前最好先安装相关的开发工具 # yum groupinstall develtools # yum ...
- golang之pkg(包)
一.概述 Golang拥有超过100个标准包(可用go list std |wc -l查看) 任何包系统设计的目的都是简化大型程序的设计和维护工作,通过将一组相关的特性放进一个独立的模块以便于理解和更 ...
- C# MySQL数据库的备份 还原 初始化
// 执行创建数据库操作 this.GetExecute(G_Con, "create database if not exists NEWDB"); this.sqlAddres ...