美文网首页
Java输入输出流

Java输入输出流

作者: 刘岳森 | 来源:发表于2017-10-23 20:28 被阅读15次

一 IO结构

IO结构

二 . Input&OutputStream

这一部分是读取字节码,

1.InputStream

常见方法
  • read()将数据读入流中;
  • skip () 跳过流中的若干字节
  • available ()返回当前流中的可用字节
  • mark() 在流中标记一个位置
  • markSupported() 返回一个 boolean值,描述流是否支持标记和复位
  • close () 关闭流

2.OutputStream

常见用法
  • write() 写数据到流
  • flush ()强制将被缓冲的内容写到输出(在文件输入的时候会将输入内容缓存在内存当中,在关闭输出流之前需要先把环存在内存中的哪痛存入到文件当中)
  • close()关闭流

3.常见的Input&OutputStream

1.控制台Input&Output
  • input
BufferedReader br = new BufferedReader(new 
                       InputStreamReader(System.in));//这里是通过bufferreader去读取的
  • Output
System.out.println();
2.File的Input&OutputStream
  • input——FileInputStream
File f = new File("C:/java/hello");
InputStream in = new FileInputStream(f);//这两种方法都可以

//InputStream f = new FileInputStream("C:/java/hello");
  • 1 public void close() throws IOException{}
    关闭此文件输入流并释放与此流有关的所有系统资源。抛出IOException异常。
  • 2 protected void finalize()throws IOException {}
    这个方法清除与该文件的连接。确保在不再引用文件输入流时调用其 close 方法。抛出IOException异常。
  • 3 public int read(int r)throws IOException{}
    这个方法从 InputStream 对象读取指定字节的数据。返回为整数值。返回下一字节数据,如果已经到结尾则返回-1。
  • 4 public int read(byte[] r) throws IOException{}
    这个方法从输入流读取r.length长度的字节。返回读取的字节数。如果是文件结尾则返回-1。
  • 5 public int available() throws IOException{}
    返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取的字节数。返回一个整数值。
  • output——FileOutputStream
File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

//OutputStream f = new FileOutputStream("C:/java/hello");
  • 1 public void close() throws IOException{}
    关闭此文件输入流并释放与此流有关的所有系统资源。抛出IOException异常。
  • 2 protected void finalize()throws IOException {}
    这个方法清除与该文件的连接。确保在不再引用文件输入流时调用其 close 方法。抛出IOException异常。
  • 3 public void write(int w)throws IOException{}
    这个方法把指定的字节写到输出流中。
  • 4 public void write(byte[] w)
    把指定数组中w.length长度的字节写到OutputStream中。

Reader & Writer

Reader writer用于读取字符码

Reader (BufferReader & FileReader)

常见用法
WX20171023-202430@2x.png

writer (Bufferwriter & FileWriter)

常见用法
WX20171023-202751@2x.png

其他

print,println,write之间的区别

  • print()输出 &&不换行
  • println ()输出 && 换行
  • printf ()和C中的几乎一样
  • write ()对比于Print是将所有的字符类型都转换成string再输出,write只能输出和原本就是String的类型

java中读取文件中中文出现乱码

这个时候我们需要设置fileInputStream的默认编码格式

BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8"));  

Reader和 inputStream之间的区别

inputStream用于将输入从字节码读入,而Reader是将字符码读入

从文件中读入字符的方法

bufferReader=new BufferedReader(new InputStreamReader(new FileInputStream(detailFileName),"GBK"));
先是有一个fileInputStream之后再用这个构建InputStreamReader,之后再构建BufferReader。

相关文章

  • Java的IO和NIO

    一、IO java的IO功能都在java.io包下,包括输入输出两种IO流,每种输入输出流又可分为字节流和字符流两...

  • Java新特性之Java8的那些事儿-Stream

    什么是流? ​ Java Se中对于流的操作有输入输出IO流,而Java8中引入的Stream 属于Java ...

  • Java IO流

    标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好...

  • IO 概述

    对于java来说输入输出问题,java见它抽象成流对象来解决. IO流在java中从输入输出角度分类: 输入流 输...

  • Java互联网架构-一篇文精通JDK8lambada表达式

    一、流的概念 Java Se中对于流的操作有输入输出IO流,而Java8中引入的Stream 属于Java API...

  • Java8中的Stream相关用法

    概念 在Java中有关流的概念有很多,比如输入输出流(InputStream/OutputStream),或...

  • JAVA(一)文件流的输入和输出

    一.java输入流类 二.文件输出流 三.工作中的输入输出流 工作上的文件输入输出流都要判断流是否读取完整whil...

  • Java IO入门(含源码解析)

    Java IO Java的输入输出流,用于和程序外部交换数据。Java的IO是通过流式传输的 流的链接机制 可将一...

  • 【Java梳理】IO流

    IO即输入输出的缩写。在程序中输入输出数据是很常见的操作。在Java中经常使用的方式是流(Stream)。流是操作...

  • Java 集合的流式操作

    Java 8 引入,位于java.util.stream包中,与 java.io 包里的输入输出流 InputSt...

网友评论

      本文标题:Java输入输出流

      本文链接:https://www.haomeiwen.com/subject/rvhuuxtx.html