zoukankan      html  css  js  c++  java
  • java_24 FileOutputStream类和FileInputStream类

    1.OutputStream 和InputStream

      输入和输出:1.参照物都是java程序来惨遭

            2.Input输入,持久化上的数据----》内存

            3.Output输出,内存---》硬盘

      字节输出流:

        OutputStream:

          定义:流按照方向可以分为输入和输出流,字节流可以操作任何数据,字符流只能操作纯字符数据。

          IO流父类:OutputStream和InputStream

      IO流程序书写步骤:

           1.先导包

           2.进行异常处理

           3.释放资源

    2FileOutputStream

      是OutputStream的子类

      1.1文件输出流是用于将数据写入 FileFileDescriptor 的输出流。

      1.2.创建流

    public class Demo {
    	public static void main(String[] args) throws Exception {
    		/*  步骤   1创建流 子类对象  绑定数据目的
    		 *      2 调用write() 方法
    		 *      3 close 关闭资源
    		 * 
    		 * */
    		FileOutputStream fos = new FileOutputStream("d:\aaa.txt");
    		//	      调用write() 方法  写一个字节
    		fos.write(97);
    		// 	 写字节数组	
    		byte[] b = {65,66,67,68};
    		fos.write(b);
    		//    写字节数组的一部分
    		fos.write(b,1,2);
    		//2.3写字符串   getBytes()  字符串转字节
    		fos.write("hello world".getBytes());
    		//关闭资源
    		fos.close();
    	}
    }
    

       文件的换行和续写,即每次刷新程序,都会在原有的基础上重新添加数据

    public class Demo {
    	public static void main(String[] args) throws Exception {
    		/*
    		 * 换行和续写
    		 */
    		File file = new File("d:\b.txt");
    		FileOutputStream fos = new FileOutputStream(file,true);
    		fos.write("hello
    ".getBytes());
    		fos.write("world\r
    ".getBytes());
    		//关闭流
    		fos.close();
    	}
    }
    

     3FileInputStream流

      是InputStream的子类

      2.1FileInputStream 从文件系统中的某个文件中获得输入字节。

      2.2创建流

        字符读取(读取速度慢)

    public class Demo {
    	public static void main(String[] args){
    		// 1创建字节输入流的子类对象
    		//2 调用方法读取 read
    		//3 关闭资源
    		try {
    			FileInputStream fis = new FileInputStream("d:\aaa.txt");
    			int len = 0;
    			while((len=fis.read())!=-1) {
    				System.out.print((char)len);
    			}
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    }
    

         字节数组读取(读取速度快)

    public class Demo {
    	public static void main(String[] args){
    		// 1创建字节输入流的子类对象
    		//2 调用方法读取 read
    		//3 关闭资源
    		try {
    			FileInputStream fis = new FileInputStream("d:\aaa.txt");
    			//创建字节数组
    			byte[] b = new byte[1024];
    			int len = 0;
    			while((len = fis.read(b))!=-1) {
    				System.out.println(new String(b,0,len));
    			}
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    
  • 相关阅读:
    WiFi流量劫持—— 浏览任意页面即可中毒!
    POJ3614防晒霜 这个贪心有点东西(贪心+优先队列)
    7月24日训练记录
    环形均分纸牌问题(中位数)
    7月23日训练总结
    7.22学习总结
    POJ 1176 Party Lamps&& USACO 2.2 派对灯(搜索)
    尘埃落定,以梦为马,不负韶华
    P1522 牛的旅行 Cow Tours(floyd)
    分享一种解题的思想,有关时间复杂度探讨
  • 原文地址:https://www.cnblogs.com/smxbo/p/10698386.html
Copyright © 2011-2022 走看看