小白成长记——Java基础之File类的使用
2017-08-11 19:32
274 查看
一、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
·delete:file.delete(),删除文件或目录
二、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型数值:
如果要写入一个字符串,那么我们可以把它先转化成字节数组,然后再写入:
读文件的时候要把指针移动到开头,RadomAccessFile提供了seek方法,raf.seek(0)就可以将指针移到头部
一次性读取,把文件内容都读取到字节数组中:
byte[] b = new byte[(int)raf.length()];
raf.read(b);
String s = new String(b);
System.out.println(s);
最后一定不要忘记调用close方法进行关闭
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
·delete:file.delete(),删除文件或目录
二、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型数值:
int i = 0x7fffffff; raf.write(i >>> 24);//高8位 raf.write(i >>> 16); raf.write(i >>> 8); raf.write(i);//末8位其实,RandomAccessFile提供了直接写入八种基本数据类型的方法。例如上面我们就可以直接写成:
raf.writeInt(i);
如果要写入一个字符串,那么我们可以把它先转化成字节数组,然后再写入:
String s = "你好"; byte[] b = s.getBytes("utf-8"); raf.write(b);
读文件的时候要把指针移动到开头,RadomAccessFile提供了seek方法,raf.seek(0)就可以将指针移到头部
一次性读取,把文件内容都读取到字节数组中:
byte[] b = new byte[(int)raf.length()];
raf.read(b);
String s = new String(b);
System.out.println(s);
最后一定不要忘记调用close方法进行关闭
相关文章推荐
- 黑马程序员——Java基础——IO流笔记(FileReader使用示例)
- Java基础回顾--java IO流相关的类的分类和总结 3 【Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类】
- Java基础之读文件——使用输入流读取二进制文件(StreamInputFromFile)
- JAVA基础之File类的使用
- java基础之IO流--使用RandomAccessFile实现数据的分段写入
- 黑马程序员——Java基础——IO流笔记(File使用示例)
- [学习笔记]Java基础_IO(包含对象流序列化使用和RandomAccessFile 类的使用)
- 【java基础】【File类使用】
- Java基础之IO流,使用File类以树形结构打印指定文件目录
- JAVA基础初探(十三)IO简介、字节流与字符流区别、带缓冲的字节/字符流读取数据、FileReader/FileWriter便捷类、Apache IO库使用说明
- Java基础——File类使用时的小细节
- Java基础之读文件——使用通道随机读取文件(RandomFileRead)
- 黑马程序员——java基础拾遗之IO流(二)File 和 Properties的使用
- Java基础之IO流中使用FileWriter和FileReader实现拷贝文件
- JAVA基础--IO输入输出(File使用)17
- Java 通过使用File类获取文件信息 (基础的)
- Java基础之读文件——使用缓冲读取器读取文件(ReaderInputFromFile)
- Java基础之写文件——使用带缓冲的Writer写文件(WriterOutputToFile)
- 使用Java API压缩和解压缩数据-Java基础-Java-编程开发
- [零基础学JAVA]Java SE应用部分-22.Eclipse及正则表达式使用 推荐