`

IO流

    博客分类:
  • java
阅读更多

1 输入/输出流
           字节流      字符流
 输入流  InputStream    Reader
 输出流  OutputStream   Writer
2 字节流和处理流
------------------------------------------------------------------------
3 InputStream 向程序中输入数据
InputStream---FileInputStream
InputStream---StringBufferInputStream
InputStream---ObjectInputStream
基本方法
-读取一个字节并以整数的形式返回
-如果返回-1已到输入流的末尾
int read() throws IOException
-读取一系列字节并存储到一个数组buffer
int read(byte[] buffer) throws IOException
-读取length个字节并存到一个字节数组buffer
int read(byte[] buffer,int offset[数组的那个下标开始存],int lenght) throws IOException
-关闭流
void close() throws IOException
-------------------------------------------------------------------------------
4 outputStream 输出数据
OutputStream---FileOutputStream
OutputStream---ObjectOutputStream
-向输出流中写一个字节数据
void write(int b)throws IOException
-将一个字节类型的数组中的数据写入输出流
void write(byte[] b)throws IOException
-将一个字节类型的数组中的从指定位置off开始的len个字节写入到输出流
void write(byte[] b,int off,int len)throws IOException
-关闭流
void close()throws IOException
-将输出流中缓冲的数据全部写出到目的地(重要:先flush再close)
void flush() throws IOException
-----------------------------------------------------------------------------------
5 Reader/Writer
---------------------------------------------------
6 FileInputStream/OutputStream
long num=0;
try{
 FileInputStream in=new FileInputStream("d:\\test.txt");
 FileOutputStream out=new FileOutputStream("d:/test1.text");
 while(int b=in.read()!=-1){
  out.write(b);
 }
 in.close();
 out.close();
}catch(){}
7 FileReader/FileWriter
  FileReader fr=null;
  FileWriter fw=null;
  int c=0;
  try{
 fr=new FileReader ("d:\\test.java");
 fw=new FileWriter ("d:/test1.java");
 while((c=fr.read)!=-1){
    System.out.print((char)c);
    fw.write(c);
 }
      fr.close();
      fw.close();
  }
 8 缓冲流
 常用构造方法
 BufferedReader(Reader in)
 BufferedReader(Reader in,int sz)
 BufferedWreter(Writer out)
 BufferedWreter(Writer out,int sz)
 BufferedInputStream(InputStream in)
 BufferedInputStream(InputStream in,int size)
 BufferedOutputStream(OutputStream out)
 BufferedOutputStream(OutputStream out,int size)
 *BufferedReader提供了readLine方法用于读取一行字符串
 *BufferedWreter提供了newLine用于写入一个行分隔符
 *可以使用flush方法将输出到缓冲流的数据在内存中清空立刻写入硬盘
try{
    FileInputStream fis=new FileInputStream("d:\\share\\HelloWorld.java");
    BufferedInputStream bis=new BufferedInputStream (fis);
    bis.mark(100);从第100开始读
}

try{
     BufferedWriter bw=new BufferedWriter (new FileWriter("d:\\test.txt"));
     BufferedReader br=new BufferedReader(new FileReader("d:\\test.txt"));
     String s=null;
     for(int i=0;i<=100;i++){
 s=String.valueOf(Math.random());
 bw.write(s);
        bw.newLine();//写一个换行符
     }
     bw.flush();//清空缓存写入文件
     while((s=br.readLine())!=null){
 System.out.println(s);
     }
     bw.close();
     br.close();
}
9 转换流
  InputStreamReader/OutputStreamWriter
  用于字节数据到字符数据之间的转换
  InputStreamReader 需要和 InputStream "套接"
  OutputStreamWriter 需要和 OutputStream "套接"
  InputStream isr=new InputStreamReader(System.in,"ISO8859-1");

try{
  OutputStreamWriter osw=new OutputStreamWriter (new FileOutputStream("d:\\test.txt"));
  osw.write("ssssssssssssssss");
  osw.close();
  osw=new OutputStreamWriter(new FileOutputStream("d:\\test.txt",true),"ISO8859-1");//true是指在原来的基础上添加
  osw.write("ddddddddddddddddddd");
  osw.close();
}

InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String s=br.readLine();

10 流据流,存储和读取java原始类型
DataInputStream(InputStream in)/DataOutputStream(OutputStream out)
boolean readBoolean()
double readDouble()
String readUTF()

11 PrintStream / PrintWriter
printStream ps=null;
try{
   FileOutputStream fos=new FileOutStream("d:\\test.txt");
   ps=new PrintStream(fos);
}
if(ps!=null){
   System.setOut(ps);
}
int ln=0;
for(char c=0;c<=60000;c++){
   System.out.print(c+" ");
   if(ln++>=100){
 System.out.println();
 ln=0;
   }
}

12 ObjectInputStream/ObjectOutputStream
对象读写必须序列化,transient关键字表示该必性不被序列化
class t implements Serializable{
  int i=10;
  transient int j=9;
  double d=2.3;
}

T t=new T();
FileOutputStream fos=new FileOutputStream ();
ObjectOutputStream oos=new ObjectOutputStream (fos);
oos.writeObject(t);
oos.flush();
oos.close();
13 Externalizable接口
方法:
   void readExternal(ObjectInput in)
   void writeExternal(ObjectOutput out)

分享到:
评论

相关推荐

    IO流、Xml解析

    在IT领域,IO流(Input/Output Stream)和XML解析是两个重要的概念,它们在数据处理和信息交换中起着核心作用。 IO流是Java编程语言中的一个关键特性,用于处理程序与外部设备(如硬盘、网络、内存等)之间的数据...

    IO流pdf宝典

    ### JAVA IO流概念及其应用详解 #### 一、JAVA为何引入流的概念? 在JAVA中,引入流的概念主要是为了实现对各种类型数据的高效处理。在实际应用中,无论是从网络中传输数据还是从本地文件中读取数据,亦或是与用户...

    Java-Io流,练习

    Java的IO流是Java编程语言中的重要组成部分,它主要用于数据的输入和输出操作。在Java中,IO流被设计为处理任何类型的数据,包括字符、字节甚至对象。本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...

    map集合以及IO流

    本文将深入探讨`Map`集合的特性和遍历方式,以及`Set`特性的排序,并介绍如何使用`IO流`,特别是字节流和字符流。 首先,我们来了解`Map`集合的基本概念。`Map`接口是Java集合框架的一部分,它不直接继承自`...

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

    java基础之IO流

    ### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...

    Java基础篇:IO流.pdf

    Java IO流是Java编程语言中用于处理输入输出操作的一个重要概念。它允许程序读取数据源或向数据目的地写入数据。Java中的IO流主要分为输入流和输出流两大类,每类又可以根据数据处理方式的不同细分为多种具体实现。...

    Java中文件IO流.pdf

    Java 中文件 IO 流 Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写操作。文件流是指在程序中用于文件输入输出的对象, Java 中提供了多种文件流类型,包括 InputStream ...

    IO流三种流方式的文本文件的复制

    在Java编程语言中,IO流(Input/Output流)是用来处理数据输入与输出的重要工具。在文本文件的复制过程中,通常会用到三种主要的流类型:字节流(Byte Stream)、字符流(Character Stream)以及缓冲流(Buffered ...

    IO流宝典.pdf

    Java IO流是Java平台核心特性之一,用于处理输入和输出数据。这个概念是Java编程中的基石,对于任何涉及数据传输或文件操作的应用程序都至关重要。《IO流宝典》这本书全面深入地探讨了这一主题,旨在帮助读者从基础...

    IO流的主要流

    Java中的IO流主要负责在不同数据源之间进行数据的传输,包括从文件系统、网络、内存等地方读取数据,以及向这些地方写入数据。IO流被设计为双工通道,既可以进行输入操作,也可以进行输出操作。Java的IO流体系结构...

    Java学生管理系统GUI+IO流

    Java学生管理系统GUI+IO流是一个适合初学者的项目,它主要展示了如何在没有数据库支持的情况下,利用Java的图形用户界面(GUI)和输入输出(IO)流来实现一个简易的学生和教师信息管理功能。这个系统可能包括账户...

    java之io流实例

    Java中的IO流是Java语言处理输入输出操作的重要组成部分,它为数据传输提供了强大的支持。本文将深入探讨Java的IO流实例应用,旨在帮助开发者更好地理解和掌握这一关键概念。 IO流在Java中分为两大类:字符流...

    彻底明白java中的IO流

    Java中的IO流是Java核心库java.io中的关键组成部分,它为程序提供了与外部资源交互的能力,包括文件读写、标准设备输入输出等。Java的IO流机制基于流的概念,流可以被视为数据传输的通道,数据按照序列化的方式从...

    Java图书管理系统(IO流版)(csdn)————程序.pdf

    Java图书管理系统(IO流版)知识点总结 本文总结了Java图书管理系统(IO流版)的主要知识点,涵盖了Java基础语法、流程控制、面向对象思想、封装、继承、多态、接口、异常、集合、IO流等多方面的知识。 一、Java...

    JAVA IO流技术

    Java IO流技术是Java平台中用于处理输入输出的重要机制,其核心在于数据的传输,从数据源到程序或从程序到目的地。在Java中,流分为两大类:输入流(InputStream、Reader)和输出流(OutputStream、Writer)。输入流...

    IO流的思维导图

    本人是初学者,在老师的指导下,将自身对Java中IO流的理解做成以下思维导图

    Java 的 IO流笔记.md

    ### Java IO流学习笔记 #### 一、IO流的四大抽象类 - **InputStream/OutputStream**:字节的输入输出流的抽象类。 - 数据单位:字节(8比特,范围0-255) - **Reader/Writer**:字符的输入输出流的抽象类。 - ...

    io流写入和读取

    "io流写入和读取"这个主题涵盖了如何使用IO流进行数据的存储和检索,通常涉及到文件操作、数据序列化以及与数据库的交互。在本篇文章中,我们将深入探讨这些关键知识点。 首先,IO流是Java中的一个基础概念,它允许...

Global site tag (gtag.js) - Google Analytics