Java IO流概述和使用演示

Java IO流

Java IO流是Java中用于读写数据的机制。它提供了一种通用的方式来处理不同类型的数据,包括文本、二进制和对象等。Java IO流主要分为字节流和字符流两种类型。

字节流

字节流是以字节为单位进行读写的流。Java中提供了两种字节流:InputStream和OutputStream。其中,InputStream用于从输入流中读取数据,OutputStream用于向输出流中写入数据。

以下是使用字节流读写文件的示例:

// 创建一个File对象
File file = new File("path/to/file.txt");

// 创建一个InputStream对象
InputStream inputStream = new FileInputStream(file);

// 创建一个OutputStream对象
OutputStream outputStream = new FileOutputStream(file);

// 读取文件内容
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
    // 处理读取到的数据
    outputStream.write(buffer, 0, length);
}

// 关闭流
inputStream.close();
outputStream.close();

在这个例子中,我们创建了一个File对象file,并使用FileInputStream和FileOutputStream分别创建了一个InputStream对象inputStream和一个OutputStream对象outputStream。然后,我们使用inputStream读取了文件的内容,并使用outputStream将读取到的内容写入到文件中。

字符流

字符流是以字符为单位进行读写的流。Java中提供了两种字符流:Reader和Writer。其中,Reader用于从输入流中读取字符,Writer用于向输出流中写入字符。

以下是使用字符流读写文件的示例:

// 创建一个File对象
File file = new File("path/to/file.txt");

// 创建一个Reader对象
Reader reader = new FileReader(file);

// 创建一个Writer对象
Writer writer = new FileWriter(file);

// 读取文件内容
char[] buffer = new char[1024];
int length;
while ((length = reader.read(buffer)) != -1) {
    // 处理读取到的数据
    writer.write(buffer, 0, length);
}

// 关闭流
reader.close();
writer.close();

在这个例子中,我们创建了一个File对象file,并使用FileReader和FileWriter分别创建了一个Reader对象reader和一个Writer对象writer。然后,我们使用reader读取了文件的内容,并使用writer将读取到的内容写入到文件中。

File类

File类用于表示文件或目录的路径名。它提供了一些方法来操作文件或目录,包括创建、删除、重命名等。

以下是使用File类操作文件的示例:

// 创建一个File对象
File file = new File("path/to/file.txt");

// 判断文件是否存在
if (file.exists()) {
    // 删除文件
    file.delete();
} else {
    // 创建文件
    file.createNewFile();
}

// 重命名文件
File newFile = new File("path/to/newFile.txt");
file.renameTo(newFile);

在这个例子中,我们创建了一个File对象file,并使用exists()方法判断文件是否存在。如果文件存在,则使用delete()方法删除文件;否则,使用createNewFile()方法创建文件。然后,我们使用renameTo()方法将文件重命名为newFile.txt。

总结

Java IO流提供了一种通用的方式来处理不同类型的数据。它主要分为字节流和字符流两种类型。此外,File类提供了一些方法来操作文件或目录。