1.利用I/O流来写文件和读取文件内容
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class Exercise05 { public static void main(String[] args) throws IOException { File file=new File("D:\\简介.txt"); if (!file.exists()) { file.createNewFile(); } //创建一个字符串,表示要写入的内容 String content="这是第五题"; //创建输出流的对象 OutputStream osOutputStream=new FileOutputStream(file); //调用write方法写入 osOutputStream.write(content.getBytes()); //关闭相关对象,释放资源 osOutputStream.close(); if (file.isFile()) { // 以字节流方法读取文件 FileInputStream fis = null; try { fis = new FileInputStream(file); // 设置一个,每次 装载信息的容器 byte[] buf = new byte[1024]; // 定义一个StringBuffer用来存放字符串 StringBuffer sb = new StringBuffer(); // 开始读取数据 int len = 0;// 每次读取到的数据的长度 while ((len = fis.read(buf)) != -1) {// len值为-1时,表示没有数据了 // append方法往sb对象里面添加数据 sb.append(new String(buf, 0, len, "utf-8")); } // 输出字符串 System.out.println(sb.toString()); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("文件不存在!"); } } }
也可以使用FileReader读取文本文件
import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.OutputStream; import java.io.Reader; public class Exercise { public static void main(String[] args) throws IOException { File file=new File("D:\\简介.txt"); if (!file.exists()) { file.createNewFile(); } //创建一个字符串,表示要写入的内容 String content="这是第五题"; //创建输出流的对象 OutputStream osOutputStream=new FileOutputStream(file); //调用write方法写入 osOutputStream.write(content.getBytes()); //关闭相关对象,释放资源 osOutputStream.close(); Reader fis=new FileReader(file); int ch; while ((ch=fis.read())!=-1) { System.out.print((char)ch); } fis.close(); } }