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