294 字符流写数据的5种方式

36 篇文章 0 订阅

294 字符流写数据的5种方式

方法

描述

1

void write(int c)

写入一个字符

2

void write(char[] cbuf)

写入一个字符数组

3

void write(char[] cbuf,int off,int len)

写入字符数组的局部

4

void write(String str)

写入一个字符串

5

void write(String str,int off,int len)

写入字符串的局部

写数据之后,要么close要么flush,文件里面才会实际写入内容。没有close或flush,写入内容还留在缓冲区,不写入文件。这是字符流的缓冲特性。

close包括flush动作,写了close之后就不能再继续写数据了。

char数组的元素用单引号包起来,例如char[] cbuf = {'a','b','c','d'};

方法

描述

1

flush()

刷新,使字符缓冲流的数据实际写入文件

2

close()

关闭,释放资源,关闭后不可再读or写数据

【写数据方式1-一个字节】

byte[] 数组名=new byte[];

int 变量名;

fos.write(数组名,0,变量名)

【写数据方式2-字节数组】

byte[] 数组名=new byte[];

int 变量名;

while((变量名 = fis.read(数组名)) != -1)

//相当于

//变量名 = fis.read(数组名)

//while(变量名 != -1)

--------------------------------------------------------------

package e294;

import java.io.*;

public class OutputStreamWriterDemo1 {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter osw294 = new OutputStreamWriter(new FileOutputStream("myCharStream\\src\\e294\\text.txt"));

        InputStreamReader isr294 = new InputStreamReader(new FileInputStream("myCharStream\\src\\e294\\text.txt"));

//1.写入一个字符

        osw294.write(97);

//        osw294.close();

        osw294.flush();

        osw294.write(98);

        osw294.close();

//读数据,查看效果

        int i;

        while ((i = isr294.read()) != -1) {

            System.out.println(i+",");

        }

        isr294.close();

    }

}

//97,

--------------------------------------------------------------

package e294;

import java.io.*;

public class OutputStreamWriterDemo2 {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter osw294 = new OutputStreamWriter(new FileOutputStream("myCharStream\\src\\e294\\text.txt"));

        InputStreamReader isr294 = new InputStreamReader(new FileInputStream("myCharStream\\src\\e294\\text.txt"));

//2.写入一个字符数组

        char[] cbuf = {'a','b','c','d'};

        osw294.write(cbuf);

        osw294.close();

//读数据,查看效果

        int i;

        byte[] bb = new byte[1024];

        while ((i = isr294.read()) != -1) {

            System.out.print(i + ",");

        }

        isr294.close();

    }

}

//97,98,99,

--------------------------------------------------------------

package e294;

import java.io.*;

public class OutputStreamWriterDemo3 {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter osw294 = new OutputStreamWriter(new FileOutputStream("myCharStream\\src\\e294\\text.txt"));

        InputStreamReader isr294 = new InputStreamReader(new FileInputStream("myCharStream\\src\\e294\\text.txt"));

//3.写入字符数组的局部

        char[] cbuf = {97, 98, 99};

        osw294.write(cbuf, 0, 2);

        osw294.close();

//读数据,查看效果

        int i;

        while ((i = isr294.read()) != -1) {

            System.out.print(i + ",");

        }

        isr294.close();

    }

}

//97,98,

--------------------------------------------------------------

package e294;

import java.io.*;

public class OutputStreamWriterDemo4 {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter osw294 = new OutputStreamWriter(new FileOutputStream("myCharStream\\src\\e294\\text.txt"));

        InputStreamReader isr294 = new InputStreamReader(new FileInputStream("myCharStream\\src\\e294\\text.txt"));

//4.写入一个字符串

        osw294.write("abc");

        osw294.close();

//读数据,查看效果

        int i;

        while ((i = isr294.read()) != -1) {

            System.out.print(i + ",");

        }

        isr294.close();

    }

}

//

--------------------------------------------------------------

package e294;

import java.io.*;

public class OutputStreamWriterDemo5 {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter osw294 = new OutputStreamWriter(new FileOutputStream("myCharStream\\src\\e294\\text.txt"));

        InputStreamReader isr294 = new InputStreamReader(new FileInputStream("myCharStream\\src\\e294\\text.txt"));

//5.写入字符串的局部

        osw294.write("abcde", 0, 4);

        osw294.flush();

        osw294.close();

//读数据,查看效果

        int i;

        while ((i = isr294.read()) != -1) {

            System.out.print((char) i + ",");//a,b,c,d,

        }

        isr294.close();

    }

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值