读取文件和写入文件操作

        在java中会涉及到对文件进行读取和写入操作,以下将介绍如何用java对文件进行读取和写入

读取

        通过Readr读取字符流文件中的数据

读取字符流文件中的数据表示以字符为单位进行读取

package 文件操作;

import java.io.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wuyulin
 * Date: 2023-08-06
 * Time: 15:36
 */
//用Readr读取字符流文件中的数据
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //由于Reader类是虚拟类所以我们不能直接实例化Reader类的对象,只能实例化继承于Reader类的子类
        //由于实例化FileReader类型的对象后就会自动打开对应的文件
        //而考虑到很可能会由于忘记调用close方法导致使用完文件后没有关闭文件导致严重后果
        //所以采用try(){}的结构,在()中实例化FileReader类型的对象,在执行完{}中的内容后便会自动关闭打开的文件
        //读取字符流文件中数据的多种方式
       try(Reader reader=new FileReader("./text.txt")){
           //一
           //Read是读取字符流的数据,调用read()可以读取一个字符的数据,读取失败返回-1
           //int n1=reader.read();

           //二
           //char[] chs=new char[1024];
           //读取到的字符放到chs数组中,要是文件有>=1024个字符则读取满数组,要是文件有<1024个字符则将文件的所有字符读到数组中
           //返回的值n2表示实际读取到数组的字符个数
           //int n2=reader.read(chs);

           //三
           //表示读取数据到数组cbuf中,读取的数据填充到数组的off下标,填充len个字符
           //reader.read(char[] cbuf,int off,int len)

           //一般要读取并打印完文件中的内容采用的方法
            while (true){
                char[] chs=new char[5];
                int n=reader.read(chs);
                //文件中的数据已经读取完毕
                if(n==-1){
                    break;
                }

                //将当前读取到的字符进行打印
                for(int i=0;i

        通过inputStream读取字节流文件中的数据

读取字节流文件中的数据表示以字节为单位进行读取

//用字节流读取文件中的数据
//InputStream和Readr的使用方式大致相同
public class Demo2 {
    public static void main(String[] args) throws IOException {
        try(InputStream inputStream=new FileInputStream("./text.txt")){
            //一
            //调用不带参数的read方法只读取一个字节,当返回-1表示文件中没有数据了
            //inputStream.read();

            //二
            //read方法的参数输入一个byte类型的数组,表示从文件中读到的字节数据都放到bytes数组中
            //返回一个int类型的值表示实际读到数组bytes中的字节数据个数
//            byte[] bytes=new byte[4];
//            int n=inputStream.read(bytes);

            //三
            //read方法填入三个参数依次表示,1.将从文件中读到的字节数据放入bytes数组中,从bytes数组下标0开始放数据,一共要放4个数据
//            byte[] bytes=new byte[4];
//            inputStream.read(bytes,0,4);

            //遍历并输出文件中所有数据的普遍方法
            while (true){
                byte[] bytes=new byte[4];
                int n=inputStream.read(bytes);
                //读到了文件末尾
                if(n==-1){
                    break;
                }
                //没有读完文件中的数据
                //打印数组中读到的数据
                for(int i=0;i

写入

        通过writer字符输出流向文件中输出数据

读取文件和写入文件操作_第1张图片

 

        通过OutputStream字节输出流向文件中输出数据

        略。因为和上面writer的用法完全相同

read和write方法的参数

 

读取文件和写入文件操作_第2张图片

 读取文件和写入文件操作_第3张图片

 

你可能感兴趣的:(开发语言,java,面试,文件操作)