zoukankan      html  css  js  c++  java
  • javaI/O流

      I/O流总结:

    (1)java流操作的类或接口

    (2)按照不同的角度进行分类:

      1〉按照流的方向可以分为输入流和输出流;

      2〉按照处理数据的不同可以分为字节流(8位)和字符流(16位);

    (3)  J2SDK所提供的所有位于包java.io内的流类型都分别继承以下四种抽象流类型。

                  

    1〉InputStream基本方法:

    int read() //读取一个字节并且以一个整形返回,如果返回-1则说明已到输入流的末尾。

    int read(byte[] buff ) //读取一系列的字节并存储到一个buff数组中,返回的是实际读到的字节数。

    int read(byte[] buff,int offset,int length) //读取length个字节,读取一系列的字节并存储到一个buff数组中,返回的是读到的字节数。

    void close()  //关闭流

    //创建流
    		FileInputStream fis=new FileInputStream( "C:\myfile\my.txt");
    		byte [] data=new byte[1024];
    		int len=-1;
    		//循环读取字节
    		while((len=fis.read(data))!=-1){
    			//将读取的字节转换成字符串
    			String s=new String(data, 0, len);
    			System.out.println(s);
    		}
    		  
    	}
    

    2〉OutputStream基本方法:

    void write(int b)   //向输出流中写入一个字节数据;

    void write(byte [])   // 将一个字节类型数组中的数据写入到输出流中;

    void write(byte [],int off,int len)    // 将一个字节类型数组中的数据从指定位置(off),长度为(len)的数据写入到输出流中;

    3〉Reader的基本方法:

    int reader()   //读取一个字符并以整数的形式返回;

    int reader(char [] off)   //读取一系列的字符并存储到数组off中,返回实际读到的字符数;

    int reader(char [] off,int offset,int length)  //读取一个字符,从offset位置开始,到length长度;

    4〉Writer

    void write(int b)     //向输出流中写入一个字符数据;

    void write( String,String)     //将一个字符串中的字符写入到输出流中;  

    void write(byte [],int off,int len)       ////将一个字符类型的数组中从指定位置(off)开始的length长度到输出流中;

    例:把D盘文件中的内容读取并写入到C盘文件中:

    	//创建流对象
    		Reader reader = new FileReader("D:\我的青春谁做主.txt");
    		BufferedReader br = new BufferedReader(reader);
    		Writer write = new FileWriter("C:\myfile\my.txt");
    		BufferedWriter bw = new BufferedWriter(write);
    		StringBuffer sbr = new StringBuffer();
    		String line;
    		//循环读取内容
    		while ((line = br.readLine()) != null) {
    			sbr.append(line);
    			System.out.println(sbr);
    		}
              //写入到C盘中
    String news = sbr.toString(); bw.write(news); //关闭流 bw.close(); write.close(); br.close(); reader.close(); }

    (3)使用二进制读取文本文件 

                                    //原始路径
        		InputStream is=new FileInputStream("C:\图片.jpg");
    		DataInputStream dis=new DataInputStream(is);
    		//目标路径
    		OutputStream os=new FileOutputStream("E:\.jpg");
    		DataOutputStream ois=new DataOutputStream(os);
    		byte [] data=new byte[1024];
    		int len;
    		while((len=dis.read(data))!=-1){
    			ois.write(data, 0, len);
    		}
    		ois.close();
    		os.close();
    		dis.close();
    		is.close();                                               
    
  • 相关阅读:
    【原】ListView的BeginUpdate()和EndUpdate()的用处
    【原】Telerik radwindow 在IE10下偶尔报 unable to get value of the property 'toLowerCase' 的解决办法
    【原】从头学习设计模式(一)——单例模式
    【原】从头学习设计模式(二)——简单工厂模式
    【原】通过JS打开IE新tab(非Window)的解决方案
    【原】高效GTD云工具 ——高效管理你的时间
    【原】安装Win7和Ubuntu双系统后,Win7耳机无声音的解决办法
    【原】从头学习设计模式(三)——工厂方法模式
    【原】备忘:Oracle 中创建存储过程及调用测试一例
    【转】DBA的性格
  • 原文地址:https://www.cnblogs.com/cn-930621/p/6842773.html
Copyright © 2011-2022 走看看