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();
}
}