编程实现,在d盘下创建一个文本文件(.txt),主文件名以自己姓名命名,并在该文件中写入自己的学号、姓名、爱好等信息,再实现在控制台中使用文件字节输入流打印输出文件中的信息。用Java io字节流方式编写
时间: 2024-03-05 15:54:00 浏览: 54
可以使用Java的FileOutputStream和BufferedOutputStream类来创建文件并写入内容,然后使用Java的FileInputStream和BufferedInputStream类来读取文件内容。具体实现步骤如下:
1. 创建一个FileOutputStream对象,指定要创建的文件路径。
2. 创建一个BufferedOutputStream对象,将FileOutputStream对象作为参数传入。
3. 创建一个字符串,即为要写入文件的内容。
4. 将字符串转换成byte数组。
5. 调用BufferedOutputStream对象的write()方法,将byte数组写入文件中。
6. 关闭流。
7. 创建一个FileInputStream对象,指定要读取的文件路径。
8. 创建一个BufferedInputStream对象,将FileInputStream对象作为参数传入。
9. 创建一个byte数组,用于存储读取到的数据。
10. 调用BufferedInputStream对象的read()方法,读取数据到byte数组中。
11. 将byte数组转换成字符串,即为文件的内容。
12. 关闭流。
13. 输出文件的内容。
以下是示例代码实现:
```java
import java.io.*;
public class CreateAndReadFile {
public static void main(String[] args) {
String filePath = "D:/yourname.txt"; // 指定要创建的文件路径
String content = "学号:123456\n姓名:Your Name\n爱好:Coding"; // 要写入文件的内容
// 创建文件并写入内容
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try {
fos = new FileOutputStream(filePath);
bos = new BufferedOutputStream(fos);
byte[] buffer = content.getBytes();
bos.write(buffer);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bos != null) {
bos.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 读取文件内容并输出到控制台
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream(filePath);
bis = new BufferedInputStream(fis);
byte[] buffer = new byte[1024];
int len;
StringBuilder sb = new StringBuilder();
while ((len = bis.read(buffer)) != -1) {
sb.append(new String(buffer, 0, len));
}
System.out.println("文件内容为:" + sb.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bis != null) {
bis.close();
}
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
需要注意的是,该代码中使用了try-with-resources语句来自动关闭流。如果使用该语句,就不需要在finally块中手动关闭流了。
阅读全文