java语言

Java基础之File类的使用

时间:2024-05-12 13:41:28 java语言 我要投稿
  • 相关推荐

Java基础之File类的使用

  导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面我们来看看Java基础之File类的使用,希望对大家有所帮助。

  一、File类

  java.io.File类只能用于表示文件或目录的信息(名称、大小等),不能用于文件内容的访问

  语法:File file = new File();

  ()中可以填入多种参数,最常见的是填入文件或目录的路径,例如:File file = new File("e:\FileTest\test.txt")

  注意:如果不指定父目录,则该文件或目录直接生成在项目目录下

  File类常见API介绍:

  ·exists:file.exists(),判断文件或目录是否存在,存在返回true,不存在返回false

  ·mkdir/mkdirs:file.mkdir()/file.mkdirs,创建目录,mkdirs用于创建多级目录

  ·isDirectory:file.isDirectory(),判断文件是否为目录,是目录返回true,不是目录或者目录不存在返回false

  ·isFile:file.isFile(),判断文件是否为文件,是文件返回true,不是文件或者文件不存在返回false

  ·:file.(),删除文件或目录

  二、RandomAccessFile类

  Java提供的对文件内容的访问类,既可以读文件,也可以写文件

  并且,RandomAccessFile支持随机访问文件,可以访问文件的任意位置

  Java文件模型:

  再硬盘上的文件是以byte byte byte的形式存储,是数据的集合

  打开文件有两种模式:"rw"读写方式,"r"只读方式

  语法:RandomAccessFile raf = new RandomAccessFile(File, String);

  ()中两个参数,File指要访问的文件,String指文件的打开方式"rw"或"r"

  文件指针:

  打开文件时会生成一个文件指针,并且再开头位置,pointer = 0

  写方法:

  raf.write(),一次只写一个字节并且从后8位开始写。指针指向下一个位置,准备再次写入

  例如我要写入一个int型整数,就需要写四次才能完全写入

  写方法:

  raf.read(),一次读一个字节(从指针位置)

  文件读写完成后一定要关闭,raf.close(),否则可能会产生一些位置错误

  示例具体写入一个int型数值:

1
2
3
4
5
int i = 0x7fffffff;          
raf.write(i >>> 24);//高8位          
raf.write(i >>> 16);          
raf.write(i >>> 8);          
raf.write(i);//末8位          

  其实,RandomAccessFile提供了直接写入八种基本数据类型的方法。例如上面我们就可以直接写成:

1
raf.writeInt(i);          

  如果要写入一个字符串,那么我们可以把它先转化成字节数组,然后再写入:

1
2
3
String s = "你好";          
byte[] b = s.getBytes("utf-8");          
raf.write(b);          

  读文件的时候要把指针移动到开头,RadomAccessFile提供了seek方法,raf.seek(0)就可以将指针移到头部

  一次性读取,把文件内容都读取到字节数组中:

1
2
3
4
byte[] b = new byte[(int)raf.length()];          
raf.read(b);          
String s = new String(b);          
System.out.println(s);          

  最后一定不要忘记调用close方法进行关闭

【Java基础之File类的使用】相关文章:

Java语法基础之for语句练习04-28

java system类使用方法示例10-09

Java中ArrayList类的使用用法07-12

Java语法基础中函数的使用说明08-24

java.util.ArrayDeque类使用方法介绍07-14

Java的类07-19

如何使用java10-14

java编程基础07-26

java语言基础08-29

Java语言的基础07-29