zoukankan      html  css  js  c++  java
  • java I/O的基本使用

    1.什么是I/O

      a.I/O也称为:输入输出,可以理解为In,Out

      b.I/O流:读取键盘键入的字符,硬盘上的文件

      c.处理数据的类型分类:字节流、字符流

      字节流:以Stream结尾的,可以处理图片、文字、音频、视频等,读取一个字节返回一个字节。

      字符流:以Reader或Writer结尾,仅能处理纯文本数据,读取一个或多个字节,再查询指定编码表,最后返回字符。

      字节流代码实例演示:

      

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    /**
     * Created by Pres_cheng on 2016/9/4.
     */
    public class UsingFileStream {
        public static void main(String args[]) {
            File file = new File("D:\Ideaworkspace\UsingFileStream\src\hello.txt");
            if (!file.exists()) {
                try {
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            try {
                FileInputStream fis = new FileInputStream(file);
                byte[] bytes = new byte[1024];
                String str = "";
                while (fis.read(bytes) != -1) {
                    str += new String(bytes,"utf-8");
                }
                System.out.println(str);
                //每次使用完流后都要关闭
                fis.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    
    }
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * Created by Pres_cheng on 2016/9/4.
     */
    public class UsingFileOutStream {
        public static void main(String args[]){
            //写入的数据
            String str = "大家好,我是学生123456abc";
            //文件的路径
            File file =new File("D:\Ideaworkspace\UsingFileStream\src\hello");
            if(!file.exists()){
                try {
                    //如果不存在就创建文件
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            try {
                //实例化输出流
                FileOutputStream fos = new FileOutputStream(file);
                byte [] btyes = str.getBytes();
                fos.write(btyes);
                fos.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

      复制图片

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * Created by Pres_cheng on 2016/9/4.
     */
    public class CopyFile {
        public static void main(String args[]){
    
            try {
                FileInputStream fis = new FileInputStream("D:\Ideaworkspace" +
                        "\UsingFileStream\img.jpg");
                FileOutputStream fos = new FileOutputStream("D:\Ideaworkspace" +
                        "\UsingFileStream\newImg.jpg");
                byte [] bytes = new byte[1024];
                while (fis.read(bytes) != -1){
                    fos.write(bytes);
                }
                fis.close();
                fos.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

      

      字符流实例演示:

      

    import java.io.*;
    
    /**
     * Created by Pres_cheng on 2016/9/4.
     */
    public class UsingStreamReader {
        public static void main(String[] args) {
            try {
                //实例化字节流
                FileInputStream fis = new FileInputStream("D:\Ideaworkspace" +
                        "\UsingFileReaderAndWriter\src\test.txt");
                //将字节流转化给字符流
                InputStreamReader isr = new InputStreamReader(fis, "utf-8");
                FileOutputStream fos = new FileOutputStream("D:\Ideaworkspace" +
                        "\UsingFileReaderAndWriter\src\newTest.txt");
                OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
                char[] chars = new char[100];
                int i;
    //            String str = "";
                while ((i = isr.read(chars)) != -1){
    //                str += new String(chars,0,i);
                    osw.write(chars,0,i);
                }
    //            System.out.println(str);
                //关闭流,按照先打开后关闭后打开先关闭的原则
                osw.close();
                fos.close();
                isr.close();
                fis.close();
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

     

  • 相关阅读:
    Day042---浮动 背景图设置 相对定位绝对定位
    day049--jQuery文档操作示例
    iOS 8 Extensions
    《驾驭Core Data》 第三章 数据建模
    《驾驭Core Data》 第二章 Core Data入门
    《驾驭Core Data》 第一章 Core Data概述
    iOS代码工具箱再续
    PS图层混合模式实例详解
    Core Animation编程指南
    iOS应用开发最佳实践系列一:编写高质量的Objective-C代码
  • 原文地址:https://www.cnblogs.com/prescheng/p/5839911.html
Copyright © 2011-2022 走看看