欢迎访问宙启技术站
智能推送

在Java中实现文件读写的函数

发布时间:2023-05-19 20:03:43

Java作为一门面向对象的编程语言,具有很多强大的文件读写函数,使得在文件读写方面变得非常便利。下面将从文件读取、文件写入两个方面,介绍在Java中实现文件读写的函数。

文件读取

Java中读取文件有多种方式,我们可以使用IO流或者NIO来进行文件读取。这里简单介绍一下两种方式读取文件。

1.使用IO流读取文件

使用IO流读取文件非常方便,只需要使用Java的File类和InputSteam类,结合起来就可以实现文件读取。

import java.io.*;

public class FileReaderDemo {
    public static void main(String[] args) {
        try {
            File file = new File("file.txt");
            InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
            BufferedReader bufferedReader = new BufferedReader(reader);
            String lineTxt = null;
            while ((lineTxt = bufferedReader.readLine()) != null) {
                System.out.println(lineTxt);
            }
            bufferedReader.close();
        } catch (IOException e) {
            System.out.println("读取文件内容出错!");
            e.printStackTrace();
        }
    }
}

2.使用NIO读取文件

使用NIO读取文件可以提高效率,使用起来也非常简单。首先需要创建一个文件通道对象,然后通过通道对象创建一个Buffer,最后将Buffer读取到的数据输出即可。

import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class NioFileReaderDemo {
    public static void main(String[] args) {
        try {
            RandomAccessFile file = new RandomAccessFile("file.txt", "rw");
            FileChannel fileChannel = file.getChannel();
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            int bytesRead = fileChannel.read(buffer);
            while (bytesRead != -1) {
                buffer.flip();
                while (buffer.hasRemaining()) {
                    System.out.print((char) buffer.get());
                }
                buffer.clear();
                bytesRead = fileChannel.read(buffer);
            }
            fileChannel.close();
            file.close();
        } catch (IOException e) {
            System.out.println("读取文件内容出错!");
            e.printStackTrace();
        }
    }
}

文件写入

如果我们需要在Java中实现文件写入,同样可以使用IO流和NIO来实现。这里分别介绍这两种方式写入文件的函数。

1.使用IO流写入文件

使用IO流写入文件也非常方便,只需要使用Java的File类和OutputStream类,结合起来就可以实现文件写入。

import java.io.*;

public class FileWriterDemo {
    public static void main(String[] args) {
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter(new File("file.txt"), true));
            bw.write("hello world!
"); // 写入数据
            bw.close();
        } catch (IOException e) {
            System.out.println("写入文件内容出错!");
            e.printStackTrace();
        }
    }
}

2.使用NIO写入文件

使用NIO写入文件也非常方便,与读取文件相似,先要创建一个文件通道对象,然后通过通道对象创建一个Buffer,最后将写入的数据放入Buffer中即可。

import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class NioFileWriterDemo {
    public static void main(String[] args) {
        try {
            RandomAccessFile file = new RandomAccessFile("file.txt", "rw");
            FileChannel fileChannel = file.getChannel();
            String str = "hello world!
";
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            buffer.clear();
            buffer.put(str.getBytes());
            buffer.flip();
            while (buffer.hasRemaining()) {
                fileChannel.write(buffer);
            }
            fileChannel.close();
            file.close();
        } catch (IOException e) {
            System.out.println("写入文件内容出错!");
            e.printStackTrace();
        }
    }
}

总结

综上所述,Java中实现文件读写的函数有很多种方式,本文仅介绍了几种常用的读写文件的函数。在实际开发中应该根据具体情况来选择最适合的方法,以提高代码的效率和可维护性。