FileIO

File类

IO包

 

 

getAbsolutePath();  查看绝对路径

getPath();       查看相对路径

 

注意:如果获取文件时传入的路径就是绝对路径,那么getPath获取的也是绝对路径

 

二.字节流  

1.  定义读的源头文件

    InputStream is=new  InputStream("文件路径");

2.  定义写的目标文件

    OutputStream  os=new  OutputStream("文件路径");

3. 定义传输字节的管道

    byte[] b=new byte[1024];

4.  循环读写

    while(is.read(b)!=-1){

             os.write(b,0,b.length)

}

5.关闭源头和目标流

 

 

 

中文编码    CBK(GB2312)      UTF-8

  CBK     一个中文占2个字节

  UTF-8   一个中文占3个字节

 

 

注意:增加字节数组长度,可以提高读写文件的效率。但是,相应的也会增加系统负担,所以一般会折中选择         1024*8*10

 

三.字符流

1.创建读写文件对象

Reader fr=new FileReader("E://1.txt");

Writer fw=new FileWriter("E://2.txt");

 

2.创建读写缓冲区间

BufferedReader br=new BufferedReader(fr);

BufferedWriter bw=new BufferedWriter(fw);

 

3.逐行读取

StringBuffer sb=new StringBuffer();

String line="";

while((line=br.readLine())!=null){

      sb.append(line);

 

}

 

4.写入文件

bw.wirte(sb.toString());

 

5.关闭

bw.flush();

bw.close();

 

注意: wirte方法并不会真正的写入(数据还在缓存中),必须调用flush方法,强制刷新缓存才会真正的写入,负责只会生成一个空的文件

也可以调用close方法关闭写的对象,因为调用close方法时,系统会强制调用一次flush方法

 

 

 

字符流和字节流

字符流的效率高于字节流

1.字符流有增益的缓冲区间

2.字符流只往文件中写了一次

3.字符流在处理字符串时更加灵活方便

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值