Java文本文件读写

-文件类型
一般文本文件,如txt
一般二进制文件,如数据文件dat,照片文件
带特殊格式的文本文件,如xml
带特殊格式二进制文件,如doc ppt
-文件是数据的一个容器
-文件可以存放大量的数据
-文件很大,注定java智能以流的形式依次处理

-写文件
FileOutputStream:往文件写字节
OutputStreamWriter:字节忽然字符转化
BufferWriter:写缓冲区类,加速写操作
三者构建关系
FileOutputStream(OutputStreamWriter(BufferWriter))
import java.io.*;
public class Person2{
public static void main(String[] args) {
writeFile1();
writeFile2();
}
public static void writeFile1() {
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
fos = new FileOutputStream(“D:/temp1/def.txt”);//节点类
osw = new OutputStreamWriter(fos,“UTF-8”);//转化类
bw = new BufferedWriter(osw);//装饰类
bw.write(“we are”);
bw.newLine();
bw.write(“Ecnuers”);
}catch(Exception ex) {
ex.printStackTrace();
}finally {
try {
bw.close();//关闭最后一个文件,关闭所有底层流
}catch(Exception ex) {
ex.printStackTrace();
}
}}
public static void writeFile2() {
//try-resource 语句,自动关闭资源
try(BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(“D:/temp1/def.txt”)))){
bw.write(“we are”);
bw.newLine();
bw.write(“ecnuers”);
bw.newLine();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
————————————————————————————
在def.txt里写入we are ecnuers

-读文件
先打开文件,逐行读入数据,关闭文件
关闭最外层数据流,将会吧其上所有的数据流关闭
FIleInputStream:节点类,负责读字节
InputStreamReader:转化类,负责字节到字符的转换
BufferedReader:装饰类,负责从缓存区读入字符

import java.io.*;
public class Person2{
public static void main(String[] args) {
readFile1();
readFile2();
}
private static void readFile2() {
// TODO Auto-generated method stub
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
try {
fis = new FileInputStream(“D:/temp1/abc.txt”);
isr = new InputStreamReader(fis,“UTF-8”);
br =new BufferedReader(isr);
String line;
while((line = br.readLine())!=null) {
System.out.println(line);
}
}catch(Exception ex) {
ex.printStackTrace();
}finally {
try {
br.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
private static void readFile1() {
// TODO Auto-generated method stub
String line;
try(BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(“D:/temp1/abc.txt”)))){
while((line = in.readLine())!=null) {
System.out.println(line);
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
——————————————————————————
从abc.txt里读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值