Java中的FileInputStream和FileOutputStream函数是用来进行文件流操作的两个重要类。它们可以读写文件,并且支持文件的复制、重命名和删除等操作。本文将详细介绍如何使用这两个类进行文件流操作。
- FileInputStream类
FileInputStream类是用来读取文件内容的。可以通过它的构造方法来创建一个文件输入流对象,然后使用它的read()方法逐个字节读取文件中的内容。
以下是使用FileInputStream读取文件内容的示例代码:
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputDemo {
public static void main(String[] args) {
try {
// 创建文件输入流对象
FileInputStream fis = new FileInputStream("test.txt");
// 读取文件内容
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
// 关闭输入流
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,首先创建了一个FileInputStream对象来读取名为test.txt的文件,然后使用while循环逐个字节读取文件内容,并将其打印在控制台上。最后,关闭输入流以释放资源。
- FileOutputStream类
FileOutputStream类是用来写入文件内容的。可以通过它的构造方法来创建一个文件输出流对象,然后使用它的write()方法逐个字节写入文件内容。
以下是使用FileOutputStream写入文件内容的示例代码:
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputDemo {
public static void main(String[] args) {
try {
// 创建文件输出流对象
FileOutputStream fos = new FileOutputStream("test.txt");
// 写入文件内容
String content = "Hello, world!";
byte[] data = content.getBytes();
fos.write(data);
// 关闭输出流
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,首先创建了一个FileOutputStream对象来写入名为test.txt的文件,然后将字符串"Hello, world!"转换为字节数组并使用write()方法将其写入文件中。最后,关闭输出流以释放资源。
- 复制文件
使用Java的文件流操作可以很方便地实现文件的复制。只需要创建两个文件流对象,一个读取原文件内容,一个写入目标文件内容。
以下是复制文件的示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyDemo {
public static void main(String[] args) {
try {
// 创建文件输入流对象
FileInputStream fis = new FileInputStream("original.txt");
// 创建文件输出流对象
FileOutputStream fos = new FileOutputStream("copy.txt");
// 逐个字节读取并写入文件内容
int data;
while ((data = fis.read()) != -1) {
fos.write(data);
}
// 关闭输入输出流
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,首先创建了一个FileInputStream对象来读取名为original.txt的文件,然后创建一个FileOutputStream对象来写入名为copy.txt的文件,接着使用while循环逐个字节读取原文件内容并写入目标文件中。最后,关闭输入输出流以释放资源。
- 重命名文件
重命名文件是文件操作中常用的功能之一。使用Java的文件流操作可以很方便地实现文件的重命名。
以下是重命名文件的示例代码:
import java.io.File;
public class FileRenameDemo {
public static void main(String[] args) {
// 创建旧文件对象
File oldFile = new File("old.txt");
// 创建新文件对象
File newFile = new File("new.txt");
// 重命名文件
if (oldFile.renameTo(newFile)) {
System.out.println("文件重命名成功");
} else {
System.out.println("文件重命名失败");
}
}
}
在上面的示例代码中,首先创建了一个旧文件对象和一个新文件对象,然后使用renameTo()方法将旧文件重命名为新文件。如果重命名成功,输出"文件重命名成功",否则输出"文件重命名失败"。
- 删除文件
删除文件也是常见的文件操作功能。使用Java的文件流操作可以很方便地实现文件的删除。
以下是删除文件的示例代码:
import java.io.File;
public c
.........................................................