import java.io.*;
public class FileTest {
String path = "C:\\Users\\Desktop\\test.txt";
File f = new File(path);
private void writeFile() throws IOException {
//构建FileOutputStream对象,文件不存在会自动新建
FileOutputStream fop = new FileOutputStream(f);
// 构建OutputStreamWriter对象,参数可以指定编码"UTF-8";不设置,默认为操作系统默认编码;
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
//写入缓冲区
writer.append("该类用来创建一个文件并向文件中写数据。\r\n如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。\r\n");
writer.append("tvmain: [2102][ 3034.174501] DTL: recording: [recording.cpp 1355 readTSData()] res:0, available:872865792");
// 关闭写入流,同时会把缓冲区内容写入文件
writer.close();
//关闭输出流,释放系统资源
fop.close();
}
private void readFile()throws IOException {
FileInputStream fip = new FileInputStream(f);
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer sb = new StringBuffer();
while(reader.ready()){
//将读取的数据转化成char类型,加入StringBuffer对象sb里
sb.append((char)reader.read());
}
//将sb对象内容转化成string类型,输出
System.out.println(sb.toString());
//关闭读取流
reader.close();
//关闭输入流,释放系统资源
fip.close();
}
public static void main(String[] args)throws IOException {
//创建对象
FileTest test = new FileTest();
//先把数据写入文件,后读再读取文件,在控制台输出
test.writeFile();
test.readFile();
}
}