下面小编就为大家带来一篇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,图片正常显示即运行成功。
The above is the detailed content of Detailed explanation of examples of file byte streams in Java file programming. For more information, please follow other related articles on the PHP Chinese website!