IO流

  • 如果希望将数据写到纯文本文件当中,那么可以使用FileWriter类。

  • 1.导包

  • import java.io.FileWriter;

  • 2.创建,构造方法

  • public FileWriter(String fileName):参数字符串就是文件的路劲名称。

  • FileWriter fw = new FileWriter(“file01.txt”);

  • 文件扩展名只能决定默认用什么软件打开文件,不能决定其内容。

  • 3.使用,成员方法

  • 写数据:public void writer(String str):参数就是需要写到文件中的字符串。

  • 关闭流:public void close():关闭,释放相关资源。

  • 总结一下:FileWriter基本使用步骤:创、写、关。

  • 注意事项:

  • 1.千万不要忘记最后调用close方法进行关闭。

  • 2.创建的时候,如果提示有可能有异常,那么就鼠标悬停,然后点击Add theows…即可

  • public class Dada {
    public static void main(String[] args) throws IOException {
    //1.创建一个FileWriter对象
    FileWriter fw = new FileWriter(“file01.txt”);
    //2.调用write方法写数据
    fw.write(“hahahaha”);
    //3.调用close方法关闭流
    fw.close();
    }
    }

  • FileReder用来将文本文件当中的字符读取到程序当中。

  • 使用的步骤:

  • 1.导包

  • import java.io.FileReder;

  • 2.创建,构造方法:

  • public FileReder(String fileName):参数仍然是文件的路径名。

  • FileReder fr = nwe FileReder(“file06.txt”);

  • 如果指定的文件名对应的文件不存在,那么将会直接报错。

  • 3.使用,成员方法:

  • 读取单个字符:public int read():读取下一个字符。得到对应的ASCII或UUnicode值。

  • 关闭释放资源:public void close();

  • 使用FileReder的步骤也是三个字:创、读、关。

  • public class Dada6 {
    public static void main(String[] args) throws IOException {
    FileReader fr = new FileReader(“file.txt”);
    int ch;
    while((ch = fr.read()) != -1) {
    System.out.print((char)ch);
    }
    fr.close();
    }
    }

  • 读写结合:
    public class Dada7 {
    public static void main(String[] args) throws IOException {
    //创建输入流对象
    FileReader fr = new FileReader(“a.txt”);
    //创建输出流对象
    FileWriter fw = new FileWriter(“d.txt”);
    //int ch;//表示单个字符
    //while((ch = fr.read()) != -1) {
    //fw.write(ch);
    //}
    //fr.close();
    //fw.close();
    char[] chs = new char[1024];
    int len;
    while((len = fr.read(chs)) != -1) {
    fw.write(chs,0,len);
    }
    fr.close();
    fw.close();
    }
    }

  • 在使用FileWriter的时候:

  • 1.如果指定的文件不存在,那么会自动创建该文件。

  • 2.如果指定的文件已经存在,那么将会覆盖写入。

  • 3.如果不希望进行覆盖写入,而是希望进行追加,那么要用另外一种重载形式的构造方法。

  • public class filewriter {
    public static void main(String[] args) throws IOException {
    FileWriter fw = new FileWriter(“file02.txt”,true);//创
    fw.write(“dududu”);//写
    fw.close();//关
    }
    }

  • 如何才能实现换行的效果?

  • 换行其实也是一种字符,叫做“换行符”。

  • Windows当中的换行符是:\r\n 这叫做两个字符,一个是\r,一个是\n

  • macOS当中的换行符是:早期是\r,现在是\n

  • Linux当中的换行符是:\n

  • public class Huanhang {
    public static void main(String[] args) throws IOException {
    FileWriter fw = new FileWriter(“file03.txt”);
    fw.write(“dada\r\n”);
    fw.write("\r\n");
    fw.write(“dudu”);
    fw.close();
    }
    }

  • FileWriter当中写数据的方法write有5种重载形式:

  • public void write(int ch):参数是单个文字对应的数字(参数ASCII或者Unicode表)

  • public void write(String str):写一个完整的字符串

  • public void write(String str,int offset,int count):写字符串当中的一部分内容

  • public void write(char[] array):写一个完整的字符数组

  • public void write(char[] array,int offset,int count):写字符数组当中的一部分内容

  • public class writer5zai {
    public static void main(String[] args) throws IOException {
    FileWriter fw = new FileWriter(“file05.txt”);
    //写单个字符
    fw.write(65);//A
    fw.write(66);//B
    fw.write(67);//C
    fw.write(48);//0
    fw.write(97);//a
    //==================
    //写一个完整的字符串
    fw.write(“World\r\n”);
    fw.write(“Hello”);
    //===================
    //写一个字符串当中的部分内容
    String str = “生前何必久睡,死后何必长眠。”;
    fw.write(str,7,6);
    //===================
    char[] array = {‘J’,‘a’,‘v’,‘a’,’!’};
    //写一个完整的字符数组
    fw.write(array);
    //写一个字符数组的部分内容
    fw.write(array,2,3);
    fw.close();
    }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值