>Java >java지도 시간 >Java 파일 프로그래밍의 파일 바이트 스트림 예제에 대한 자세한 설명

Java 파일 프로그래밍의 파일 바이트 스트림 예제에 대한 자세한 설명

黄舟
黄舟원래의
2017-08-11 09:46:281498검색

下面小编就为大家带来一篇Java文件(io)编程_文件字节流的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

案例1:

演示FileInputStream类的使用(用FileInputStream的对象把文件读入到内存)

首先要在E盘新建一个文本文件,命名为test.txt,输入若干字符


public class Demo_2 {

  public static void main(String[] args) {
    File f=new File("e:\\test.txt");      //得到一个文件对象f,指向e:\\test.txt
    FileInputStream fis=null;
    
    try {
      fis=new FileInputStream(f);       //因为File没有读写的能力,所以需要使用FileInputStream

      byte []bytes=new byte[1024];      //定义一个字节数组,相当于缓存
      int n=0;                //得到实际读取到的字节数
      
      while((n=fis.read(bytes))!=-1){     //循环读取
        String s=new String(bytes,0,n);   //把字节转成String
        System.out.println(s);
      }
      
    } catch (Exception e) {
      e.printStackTrace();
    }finally{                  //关闭文件流必须放在这里
      try {
        fis.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}

运行程序,控制台输出test.txt中输入的字符。

案例2:

演示FileOutputStream的使用(把输入的字符串保存到文件中)


public class Demo_3 {

  public static void main(String[] args) {

    File f=new File("e:\\ss.txt");
    FileOutputStream fos=null;      //字节输出流
    
    try {
      fos=new FileOutputStream(f);
      
      String s="你好,疯子!\r\n";   //\r\n为了实现换行保存
      String s2="24个比利";

      fos.write(s.getBytes());
      fos.write(s2.getBytes());
    } catch (Exception e) {
      e.printStackTrace();
    }finally{
      try {
        fos.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}

打开E盘名为ss.txt的文本文档,存在输入的字符。

 案例3:图片拷贝

首先在E盘准备一张图片,命名为a.jpg


public class Demo_4 {

  public static void main(String[] args) {
    //思路 先把图片读入到内存,再写入到某个文件
    //因为图片是二进制文件,只能用字节流完成

    FileInputStream fis=null;         //输入流
  
    FileOutputStream fos=null;        //输出流
    try {
      fis=new FileInputStream("e:\\a.jpg");
      fos=new FileOutputStream("d:\\a.jpg");
      
      byte []bytes=new byte[1024];
      int n=0;               //记录实际读取到的字节数
      while((n=fis.read(bytes))!=-1){    //read函数返回读入缓冲区的字节总数  
        fos.write(bytes);         //输出到指定文件
      }
    } catch (Exception e) {
      e.printStackTrace();
    }finally{
      try {
        fis.close();
        fos.close();
      } catch (Exception e) {
        e.printStackTrace();
      }    
    }  
  }
}

打开D盘,点击a.jpg,图片正常显示即运行成功。

위 내용은 Java 파일 프로그래밍의 파일 바이트 스트림 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.