Heim  >  Artikel  >  Java  >  Ausführliche Erläuterung von Beispielen für Dateibyteströme in der Java-Dateiprogrammierung

Ausführliche Erläuterung von Beispielen für Dateibyteströme in der Java-Dateiprogrammierung

黄舟
黄舟Original
2017-08-11 09:46:281489Durchsuche

下面小编就为大家带来一篇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,图片正常显示即运行成功。

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für Dateibyteströme in der Java-Dateiprogrammierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn