Java输入输出之文件

Posted Yienfong_Chueng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java输入输出之文件相关的知识,希望对你有一定的参考价值。

一、
1、创建文件:(里面的参数具体见API文档)

File myfile=new File()

2、操作File对象:(更多见API文档)
exists():文件是否存在
mkdir():若文件不存在则创建

二、随机存取文件(RandomAccessFile)
该类既可以对文件进行读操作,也可以对文件进行写操作。
该类与输入输出流类不相关,所以很多作用于流的过滤器在该类中不能使用。
1、创建:
RandomAccessFile(File file, String mode)
创建从中读取和向其中写入(可选)的随机访问文件流,该文件由 File 参数指定。
RandomAccessFile(String name, String mode)
创建从中读取和向其中写入(可选)的随机访问文件流,该文件具有指定名称。
2、操作:
文件指针的操作:
因为RandomAccessFile实现的是随机读取,也就是可以在文件的任意位置进行数据的读写。所以必须定义文件指针,以及移动这个指针的方法。文件指针是指以字节为单位的相对于文件开头的偏移量,是下次读写的起点。文件指针运行规律:一是新建RandomAccessFile对象的文件指针位于文件的开头处(0的位置);二是,每次读写操作后,文件位置指针都相应后移读写的字节数。
文件指针操作方法:

long getFilePointer() //返回当前文件指针
void seek(long pos) //将文件指针定位到指定位置,pos为相对于文件开头的绝对偏移量
long length() //返回文件长度
int skipBytes(int n) //从当前位置开始跳过n个字节,返回值表示实际跳过字节数。

读操作:(见API文档)
写操作:(见API文档)

例子#####

package zyf;
import java.io.File;
import java.io.RandomAccessFile;
public class RandomAccessTest 

    public static void main(String[] args) throws Exception 
        File myfile=new File("demo");//创建一个文件,默认在项目根目录下
        if(!myfile.exists())//如果不存在,则新建一个文件目录
            myfile.mkdirs();
        
        //在此文件目录下创建RandomAccessTest.java文件
        File myfile1=new File(myfile,"RandomAccessTest.java");
        if(!myfile1.exists())//如果不存在,则创建文件
            myfile1.createNewFile();
        
        long filep=0;//初始化文件指针
        String s;
        //创建随机存取文件类对象,以只读方式打开
        RandomAccessFile file=new RandomAccessFile(myfile1,"r");
        long filelength=file.length();//获取文件长度
        while(filep<filelength)
            s=file.readLine();//读一行字符,并移动文件指针
            System.out.println(s);//输出显示读入的一行字符
            filep=file.getFilePointer();//获取当前文件指针          
        
        file.close();//关闭随机存取类对象

    


以上是关于Java输入输出之文件的主要内容,如果未能解决你的问题,请参考以下文章

Java IO流字节流和字符流详解

程序编译运行和exe运行之文件位置的区别

Java输入输出之文件

08 - JavaSE之IO流

学习Java(12)之文件输入输出

Java之输入输出流