Io流运用



请用字节流往一个文本文件中写一句话:"helloworld"。
 分析:
 首先要知道是字节流
 写数据我们就应该知道是字节输出流
 所以最终选择了OutputStream
 而OutputStream是抽象类,所以我们应该找其子类
 文件这个单词是File,所以我们就大胆的猜测下:FileOutputStream存在否。
 我们如何往一个文件写数据呢?
 或者说就是字节输出流的操作步骤是什么呢?

package cokm.edu_01;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * A:创建字节输出流对象
 * B:调用写数据的方法
 * C:释放资源
 */
public class OutputStreamDemo {
 public static void main(String[] args) throws IOException {
  /**
   * 怎么使用文件输出流往文件中途写数据?
   * 1.创建文件输出流对象
   * 2.调用输出流对象的方法给文件中写数据
   * 3.释放资源
   */
  //public FileOutputStream(String name)
  //public FileOutputStream(File file)
  //创建文件输出流对象
  FileOutputStream fos = new FileOutputStream("a.txt");
  //public FileOutputStream(File file)
  //File file = new File("a.txt");
  //FileOutputStream fos = new FileOutputStream(file);
  /**
   * FileOutputStream fos = new FileOutputStream("a.txt");
   * 做了那些事情?
   * 1.创建fos对象指向文件a.txt
   * 2.创建一个文件a.txt
   */
  //调用输出流的写数据的方法给文件中写数据
  //public void write(byte[] b)
  byte[] byf = "helloworld".getBytes();
  fos.write(byf);
  //释放资源,关流操作
  fos.close();
  //关流之后,我们还能继续往文件中写数据码
  //这样是不行的。。
  //fos.write("java".getBytes());//java.io.IOException: Stream Closed 
 }

}

package cokm.edu_01;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class OutPutStreamDemo2 {
 public static void main(String[] args) throws IOException {
  /**
   * FileOutputStream写数据的方法
    write(byte[] b)
    write(int b) :一次写一个字节
    write(byte[] b, int off, int len) :一次写一个字节数组的一部分
   */
  /**
   * 1.创建文件输出流对象,并关联指定文件
   * 2.调用写书数据的方法,写书文件
   * 3.关流
   */
  //1.创建文件输出流对象,并关联指定文件
  FileOutputStream fos = new FileOutputStream("b.txt");
  
  //2.调用写书数据的方法,写书文件
  //write(int b) :一次写一个字节
  //fos.write(97);
  
  
  //write(byte[] b, int off, int len) :一次写一个字节数组的一部分
  byte[] byf = {97,98,99,100};
  fos.write(byf, 1, 2);
  
  //3.关流
  fos.close();
  
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值