网站首页 > java教程 正文
Java中与文件操作有关的内容
一、File类
File类是java.io包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件读取权限等。
1.1 文件的创建与删除
一般情况下使用下面三种方法来创建文件对象:
(1)File(String pathname)
该构造方法通过将给定路径名字符串转换为抽象路径名来创建一个新File来实例。例如:File file1 = new File(“d:/javatest.txt”);
(2)File(String parent,String child)
该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File对象。例如File file2 = new File(“D;/”,”javatest.txt”);
(3)File(File f,String child)
该构造方法根据parent抽象路径名和child路径名字符串创建一个新File实例。
例如File file3 = new File(D:/,”javatest.txt”);
当使用File类创建一个文件对象后,例如:File file = new File(“word.txt”);如果当前目录中不存在名称为word的文件,File类的对象可通过调用creatNewFile()方法创建一个名称为word.txt的文件;如果存在word.txt的文件,可以通过文件对象的delete()方法将其删除。
1.2 获取文件信息
File类的常用方法
方法 返回值 说明
getName() String 获取文件的名称
canRead() boolean 判断文件是否为可读的
canWrite() boolean 判断文件是否可被写入
exits() boolean 判断文件是否存在
Length() long 获取文件的长度(以字节为单位)
getAbsolutePath() String 获取文件的绝对路径
getParent() String 获取文件的父路径
isFile() boolean 判断文件是否存在
isDirectory() boolean 判断文件是否为一个目录
isHidden() boolean 判断文件是否为隐藏文件
lastModified() long 获取文件最后修改时间
二、文件输入/输出流
如果需要将数据永久保存,可使用文件输入/输出流与指定的文件建立连接,将需要的数据永久保存到文件中。
2.1 FileInputStream与 FileOnputStream类
FileInputStream(文件读取)与 FileOnputStream(文件写入)类都用来操作磁盘文件。
FileInputStream类常用的构造方法如下:
FileInputStream(String name).
FileInputStream(File file).
第一个构造方法使用给定的文件名name创建一个FileInputStream对象,第二个构造方法使用File对象创建FileInputStream对象。FileOnputStream类的操作与此相同,但其可以指定不存在的文件名。
注意虽然Java在程序结束时自动关闭所有打开的流,但是当使用完流后,显式的关闭所有打开的流是一个好习惯。
程序实例:
import java.io.*;
public class FileTest { // 创建类
public static void main(String[] args) { // 主方法
File file = new File("word.txt"); // 创建文件对象
try { // 捕捉异常
// 创建FileOutputStream对象
FileOutputStream out = new FileOutputStream(file);
// 创建byte型数组
byte buy[] = "我有一只小毛驴,我从来也不骑。".getBytes();
out.write(buy); // 将数组中信息写入到文件中
out.close(); // 将流关闭
} catch (Exception e) { // catch语句处理异常信息
e.printStackTrace(); // 输出异常信息
}
try {
// 创建FileInputStream类对象
FileInputStream in = new FileInputStream(file);
byte byt[] = new byte[1024]; // 创建byte数组
int len = in.read(byt); // 从文件中读取信息
// 将文件中信息输出
System.out.println("文件中的信息是:" + new String(byt, 0, len));
in.close(); // 关闭流
} catch (Exception e) {
e.printStackTrace(); // 输出异常信息
}
}
}
2.2 FileReader和FileWriter类
使用这两个类的好处是上面的两个类只提供了对字节或字节数组的读取方法。由于汉字在文件中占用两个字节,如果使用字节流,读取不好可能会出现乱码问题,此时采用字符流FileReader和FileWriter类即可避免这种现象。
本文系作者原创!
- 上一篇: 用 Java 的 IO 流进行读写文件操作
- 下一篇: Java:Java应用程序如何在堆之外乱扔垃圾
猜你喜欢
- 2024-09-30 SQL SERVER 清理日志文件的方法(sql server怎么清除日志)
- 2024-09-30 如何使用 Java 在 PDF 文档中添加、删除或旋转页面
- 2024-09-30 夯实基础:完全理解掌握Java文件类File
- 2024-09-30 Java基础——IO流(10)(java基础)
- 2024-09-30 Java编程思想:清除一收尾和垃圾收集
- 2024-09-30 Java教程Java 文件 IO 操作(java io写文件)
- 2024-09-30 近2万字详解JAVA NIO2文件操作,过瘾
- 2024-09-30 JAVA运维必备——linux的基本常见命令,也是“装逼”命令
- 2024-09-30 Java中常用IO流之文件流的基本使用姿势
- 2024-09-30 Java平台的海量小文件分布式文件系统BRFS-全套源码+文档
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)