`
zhaoyta
  • 浏览: 19636 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java IO 的api笔记

阅读更多
InputStream  OutputStream 字节输入输出流的抽象基类
Reader Writer  字符输入输出流的抽象基类


InputStreamReader OutputStreamWriter 字节流到字符流的桥梁,可以指定编码方式

DataInputStream DataOutputStream 可以输入输出基本类型
主要方法有
readBoolean() writeBoolean(boolean v)




BufferedReader BufferedWriter 带缓冲的字符输入输出流
   while((s=br.readLine())!=null)
   {
        bw.write(s,0,s.length());
    }


PrintWriter 格式化输出,部分功能类似于DataOutputStream
PrintWriter(File file)
          使用指定文件创建不具有自动行刷新的新 PrintWriter。
PrintWriter(File file, String csn)
          创建具有指定文件和字符集且不带自动刷行新的新 PrintWriter。
PrintWriter(OutputStream out)
          根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush)
          通过现有的 OutputStream 创建新的 PrintWriter。
PrintWriter(String fileName)
          创建具有指定文件名称且不带自动行刷新的新 PrintWriter。
PrintWriter(String fileName, String csn)
          创建具有指定文件名称和字符集且不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out)
          创建不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush)
          创建新 PrintWriter。

Scanner 可以使用正则表达式来分析基本类型和字符串的简单文本扫描器
String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     System.out.println(s.next());
     System.out.println(s.next());
     s.close(); 






String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input);
     s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
     MatchResult result = s.match();
     for (int i=1; i<=result.groupCount(); i++)
         System.out.println(result.group(i);
     s.close(); 




在Java的IO流中有一种很特殊的流就是管道流类:PipedInputStream     PipedOutputStream.这两个类的实例对象必须要通过connect方法连接.  
   
    其实看这么一个程序就知道了管道流类的使用方法.  
   
  //sender.java   
    
  import   java.io.*;   
  import   java.util.*;   
  public   class   sender   extends   Thread   
  {   
                PipedOutputStream   out   =   new   PipedOutputStream();   
                public   PipedOutputStream   getOut()   
                  {   
                          return   out;   
                }   
                public   void   run()   
                {   
                          String   str   =   "Hello,receiver   !   I`m   sender\n";   
                            try   
                            {   
                                      out.write(str.getBytes());   
                                      out.close();   
                          }   
                            catch(Exception   e)   
                          {   
                                        e.printStackTrace();   
                            }   
                  }   
  }   
                                                                                      //receiver.java   
    
  import   java.io.*;   
  import   java.util.*;   
  public   class   receiver   extends   Thread   
  {   
                        PipedInputStream   in   =   new   PipedInputStream();   
                      public   PipedInputStream   getIn()   
                        {   
                                      return   in;   
                        }   
                        public   void   run()   
                        {   
                                      byte   []   buf   =   new   byte[1024];   
                                      try   
                                      {   
                                                    int   len   =   in.read(buf);   
                                                  System.out.println("the   following   is   from   sender:\n"+new   String(buf,0,len));   
                                                  in.close();   
                                      }catch(Exception   e)   
                                      {   
                                                  e.printStackTrace();   
                                        }   
                          }   
  }   
    
                                                                                          //TestPiped.java   
    
  import   java.io.*;   
  class   TestPiped   
  {   
                        public   static   void   main(String   []   args)   
                        {   
                                      sender   s   =   new   sender();   
                                    receiver   r   =   new   receiver();   
                                    PipedOutputStream   out   =   s.getOut();   
                                      PipedInputStream   in   =   r.getIn();   
                                    try   
                                    {   
                                                      in.connect(out);   
                                                    s.start();   
                                                    r.start();   
                                      }   
                                    catch(Exception   e)   
                                    {   
                                                  e.printStackTrace();   
                                    }   
                        }   
  }   



   
  这个程序的功能是sender发送"Hello,receiver   !   I`m   sender"给receiver然后receiver接受后显示出来并且在前面加上"the   following   is   from   sender"的信息.要注意的就是PipedInputStream和PipedOutputStream分别用两个线程传送数据.
0
0
分享到:
评论

相关推荐

    Java IO学习笔记+代码

    Java IO是Java编程语言中用于输入/输出...理解并熟练掌握这些概念和API对于任何Java开发者来说都是至关重要的。通过实践和学习,你可以创建高效的文件处理程序,实现数据的高效读写,甚至进行网络通信等更高级的操作。

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    个人笔记--Java_API

    ### Java核心API知识点详解 #### 一、集合框架 **1.1 什么是集合** 集合是Java编程语言中用于存储和操作多个元素的一种容器。它提供了动态管理元素的能力,允许在运行时添加或删除元素。 **1.2 集合与数组** - ...

    java笔记java笔记java笔记

    ### Java 学习笔记知识点详解 #### 一、`java.lang`包 `java.lang`是Java的基础包之一,包含了构成Java语言核心API的基本类,如`String`、`Object`、`Integer`等,以及异常类和其他常用类。这部分内容主要涉及: - ...

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    面向对象大胆向前 Java API 实战-Markdown格式的笔记

    IO流(5:IO Stream-Java API 实战.md) Java的I/O流系统是处理输入输出的强大工具,适用于处理各种数据源。笔记会讲解字节流和字符流的区别,以及如何使用缓冲区提高效率,还会涵盖文件流、网络流和对象序列化。 ...

    JavaIO总结.pdf

    Java IO学习笔记中提到,流的操作非常容易,Java API中提供了丰富的流处理类,API也大差不差,看看文档即可上手。 在Java IO中,流的分类非常丰富,包括输入流、输出流、字节流、字符流、节点流、处理流等等。掌握...

    java全套笔记 来自狂神说java笔录.zip

    12. **Java 8及更高版本新特性**:包括Lambda表达式、Stream API、Optional类、日期时间API的改进等。 这些笔记内容全面覆盖了Java的基础和进阶知识,适合从零开始学习Java的人群,通过系统学习,可以建立起扎实的...

    java全套培训笔记

    除此之外,笔记可能还涉及了Java的最新版本特性,如Java 8的Lambda表达式、函数式接口、Stream API,以及Java 9至14的新特性,如模块化系统、私有接口方法、文本块等。 在实际开发中,测试和调试也是必不可少的部分...

    张龙JAVA圣思园笔记

    Java Standard Edition(JAVA-SE)是Java编程语言的核心部分,它提供了用于开发和运行桌面应用程序、服务器应用程序以及嵌入式系统的API。张龙老师的JAVA圣思园笔记深入浅出地涵盖了JAVA-SE的基础知识点,帮助学习者...

    java API中的IO

    可能会有些不全,也希望大神们能够指出,刚刚学习,有太多的东西不懂,见谅~

    java学习笔记之Java-IO操作共19页.pdf.zi

    Java IO API提供了一套丰富的类和接口,使得开发者可以方便地进行文件读写、网络通信、流处理等操作。 1. **基本概念** - 流(Stream):Java IO中的核心概念,代表数据的源或目标。流可以是字节流或字符流,分为...

    MLDN李兴华13天java培训配套笔记Word版

    在IO流部分,笔记会介绍输入/输出流的分类,如字节流和字符流,以及文件操作的相关API。网络编程也会被提及,包括Socket编程的基本原理和应用实例。 线程是并发编程的基础,笔记会讲解线程的创建方式(Thread类和...

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    Java开发学习笔记

    Java开发学习笔记主要针对的是初学者,旨在帮助他们掌握Java编程的基础知识。下面将详细讲解Java开发中的核心概念和步骤。 一、Java环境变量设置 在开始Java编程之前,我们需要安装Java Development Kit (JDK)并...

    java笔记 Java-Web笔记 J2EE三大框架笔记

    首先,Java笔记主要涉及Java语言的基础语法、面向对象编程概念、异常处理、集合框架、多线程、IO流、网络编程等内容。Java的基础是理解其核心特性,如类、接口、继承、封装、多态等面向对象概念。异常处理确保程序在...

    java笔记 java笔记 java笔记

    - **Java 8**:Lambda表达式、Stream API、日期时间API等。 - **Java 9**:模块系统、JShell(REPL)等。 - **Java 11**:长期支持版本,增强HTTP客户端等。 - **Java 17**:继续强化安全性,引入文本块等。 这...

    毕向东史上最适合初学者入门的Java基础视频笔记

    文件和IO流是Java中的重要部分,笔记会教给学生如何在Java中读写文件,使用各种输入/输出流进行数据传输。网络编程也是Java的一大应用场景,笔记可能涵盖Socket编程,让学生了解如何创建客户端和服务器进行通信。 ...

Global site tag (gtag.js) - Google Analytics