[Java 基础]-- java 读和写txt文件(不写入指定字符)

本文详细介绍了Java中文件复制、读取和写入的基本操作,包括使用FileInputStream和FileOutputStream进行文件复制,以及使用FileReader和BufferedReader读取和处理文本文件的方法。

1、通用复制文件photo.jpg(可以是任意格式的文件)到指定目录(如photoOpy.jpg)下:

//创建输入流

FileInputStream reader=new FileInputStream("F:/photo.jpg");

//创建输出流

FileOutputStream writer=new FileOutputStream(F:/photoCopy.jpg);

//定义读的字节数组大小

byte b[]=new byte[1024];

int length;

while((length=reader.read(b))!=-1){

//将数据写入文件

writer.write(b,0,length);

}

//关闭读

reader.close();

//关闭写

writer.close();

 

2、读取txt文件内容

(1)测试用字节流转字符流读取txt文件
@Test
public void testReadTxt() {
String filePath = "D:/qq.log";
List<Object> list = new ArrayList<Object>();
Object textContent = null;
try {
File file = new File(filePath);
if (file.isFile()) {
// 创建输入流,读取字节文件
FileInputStream fs = new FileInputStream(file);
// 创建转换流,将字节流转换成字符流,默认编码格式是GBK
InputStreamReader isr = new InputStreamReader(fs, "UTF-8");
// 创建缓冲流读取
BufferedReader br = new BufferedReader(isr);
// 开始读取数据
while ((textContent = br.readLine()) != null) {
list.add(textContent);
}
} else {
System.out.println("文件不存在!");
}
// 遍历文件内容
for (Object ob : list) {
System.out.println(ob);
}
} catch (Exception e) {
e.printStackTrace();
}
}

(2)使用纯字符流读取txt文件

@Test
public void testResadTxt2()throws Exception{
String path="F:/testFileWriter.txt";
FileReader fr=null;
BufferedReader br=null;
try{
//如果不写new File()而直接写path也可以,但是如果使用path,那么会多一次判断而花费时间!
// fr=new FileReader(path);
fr=new FileReader(new File(path));
br=new BufferedReader(fr);

while(br.readLine()!=null){
System.out.println(br.readLine());
}
}catch(Exception e){
e.printStackTrace();
}finally{
br.close();
fr.close();
}
}

3、写入txt文件
@Test
public void writerTxt(){
String txtPath="D:/20151104qwer.log";
try{
FileWriter fw=new FileWriter(new File(txtPath),true);
BufferedWriter rw=new BufferedWriter(fw);
rw.write("hello world"+"\r\n");
rw.close();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oo寻梦in记

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值