zoukankan      html  css  js  c++  java
  • IO流知识点

    如何判断是输入还是输出?
    答:以程序为中心。
    如何判断是解码还是编码?
    答:以程序为中心。程序只懂二进制,所以,以二进制转换成字符是解码,字符转换成二进制是编码。
    1.
    首先,File 它是给程序跟文件或文件夹建立的一个联系。它不是代表那个路径下的文件,只是一个联系。不能对文件进行操作。而且也不能判断该文件是否存在。。
    File file=new File(path);
    如:File file=new File("E:/text/a.jpg");
    这行代码说的是:file给程序跟该目录下的文件a.jpg建立了一个联系。但是不能对文件进行操作。
    (File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。)---来自jdk


    2. InputStream-->FileInputStream
    摘自jdk-->
    public class FileInputStream extends InputStream
    由此可知:
    ①、FileInputStream 是继承了InputStream抽象类。
    ②、FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream 类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream 的所有方法。FilterInputStream 的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
    OutputStream-->FileOutputStream跟InputStream-->FileInputStream是一样的

    2.(字节流)输入流、输出流的使用步骤:
    ①、建立联系:File file=new File(path);//跟文件建立一个联系
    ②、选择流:选择你需要的流,你是要输入流还是输出流。。如:InputStream-->FileInputStream /OutputStream-->FileOutputStream
    ③、操作:进行输入内容或者输出内容。
    ④、释放资源:关闭输入流或输出流。如果是输出流,要多写一个flush();强制刷新出去。
    简单例子:

    输入流:
    1
    package com.IO; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.IOException; 6 import java.io.InputStream; 7 /** 8 * 1.建立联系 File对象 9 * 2.选择流 10 * 3.操作 11 * 4.释放资源 12 * @author Administrator 13 * 14 */ 15 public class Demo01 { 16 public static void main(String[] args) { 17 File file=new File("f:/a.txt");//建立联系 18 InputStream is=null;//提升变量作用域,也就是让变量的作用域变大 19 if(file.exists()){ 20 try { 21 is=new FileInputStream(file); 22 byte[] car=new byte[10];//缓冲数组 23 int len=0;//实际读取的大小 24 while(-1!=(len=is.read(car))){ 25 String info=new String(car,0,len); 26 System.out.println(info); 27 } 28 } catch (FileNotFoundException e) { 29 System.out.println("文件找不到"); 30 } catch (IOException e) { 31 System.out.println("读取文件失败"); 32 }finally{ 33 if(null!=is){ 34 try { 35 is.close(); 36 } catch (IOException e) { 37 System.out.println("关闭输入流失败"); 38 } 39 } 40 } 41 }else{ 42 try { 43 boolean flag=file.createNewFile(); 44 System.out.println(flag?"成功":"失败"); 45 } catch (IOException e) { 46 System.out.println("创建文件错误"); 47 } 48 } 49 50 } 51 }

    52 输出流: 53 package com.IO; 54 import java.io.File; 55 import java.io.FileNotFoundException; 56 import java.io.FileOutputStream; 57 import java.io.IOException; 58 import java.io.OutputStream; 59 public class Demo02 { 60 public static void main(String[] args) { 61 File file=new File("f:/a.txt"); 62 OutputStream out=null;//提升变量作用域,也就是让变量的作用域变大 63 if(file.exists()){ 64 try { 65 out=new FileOutputStream(file); 66 String str="very good!!! "; 67 byte[] b=str.getBytes();//字符转换成字节数组 68 out.write(b); 69 out.flush();//强制刷新出去 70 } catch (FileNotFoundException e) { 71 System.out.println("文件没找到"); 72 } catch (IOException e) { 73 System.out.println("输出内容发生错误"); 74 }finally{ 75 if(null!=out){ 76 try { 77 out.close(); 78 } catch (IOException e) { 79 System.out.println("关闭输出流失败"); 80 } 81 } 82 } 83 }else{ 84 System.out.println("文件不存在!"); 85 } 86 } 87 }
  • 相关阅读:
    服务列表
    Tinyfool的2013年总结————在困惑和挣扎中试图前行
    支付平台程序,支付程序,网络pos程序,api接口程序,锋锐支付平台程序开发领导者!
    是新浪移动云
    Convert SVG to PNG in Python
    qrcode 4.0.4 : Python Package Index
    CairoSVG
    cairo graphics.org
    The Apache™ Batik Project
    Online SVG to PNG/JPEG/TIFF conversion
  • 原文地址:https://www.cnblogs.com/JamKong/p/4447043.html
Copyright © 2011-2022 走看看