摘要:
概要本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括:1. interrupt()说明2. 终止线程的方式 2.1 终止处于“阻塞状态”的线程 2.2 终止处于“运行状态”的线程3. 终止线程的示例4. interrupted() 和 isInterrupted()的区别转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479949.html1. interrupt()说明在介绍终止线程的方式之前,有必要先对interrupt()进行了解。关于interrupt(),java的djk文档描述如下:http://docs.
阅读全文
posted @ 2014-01-14 21:56
如果天空不死
阅读(56528)
推荐(24)
编辑
摘要:
概要本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479275.html1. join()介绍join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。这句话可能有点晦涩,我们还是通过例子去理解:// 主线程public class Father extends Thread { public void run() {...
阅读全文
posted @ 2014-01-14 09:33
如果天空不死
阅读(58799)
推荐(29)
编辑
摘要:
概要本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479256.html1. sleep()介绍sleep() 定义在Thread.java中。sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行。2
阅读全文
posted @ 2014-01-13 20:20
如果天空不死
阅读(19626)
推荐(6)
编辑
摘要:
概要本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479243.html1. yield()介绍yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行!2. yield()
阅读全文
posted @ 2014-01-12 22:11
如果天空不死
阅读(22437)
推荐(16)
编辑
摘要:
概要本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long timeout)和notify()4. wait() 和 notifyAll()5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479224.htmlwait(), notify(), notifyAll()等方法介绍在Object.java中,定义了wait(),
阅读全文
posted @ 2014-01-11 21:55
如果天空不死
阅读(59879)
推荐(29)
编辑
摘要:
概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479202.html1. synchronized原理在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在。当我们调用某对象的synchronized方法时,就获取了该对象的同步锁。例如,synchronized(obj)就获取了“obj
阅读全文
posted @ 2014-01-11 10:12
如果天空不死
阅读(37281)
推荐(43)
编辑
摘要:
概要Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479083.htmlstart() 和 run()的区别说明start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。run() : run()就和普通的成员方法一样,可以被重复调用。单独调用ru.
阅读全文
posted @ 2014-01-10 19:46
如果天空不死
阅读(50504)
推荐(44)
编辑
摘要:
概要本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Thread和Runnable的简介Thread和Runnable的异同点Thread和Runnable的多线程的示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479063.htmlThread和Runnable简介Runnable 是一个接口,该接口中
阅读全文
posted @ 2014-01-09 22:43
如果天空不死
阅读(32906)
推荐(20)
编辑
摘要:
多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口;Thread类中的接口;synchronized关键字。注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的。在进入后面章节的学习之前,先对了解一些多线程的相关概念。线程状态图说明:线程共包括以下5种状态。1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,...
阅读全文
posted @ 2014-01-09 22:38
如果天空不死
阅读(41540)
推荐(66)
编辑
摘要:
概要本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第3部分 MTP启动流程 详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介绍。第4部分 MTP协议之I->R流程 以"PC中打开一个MTP上的文件(读取文件内容)"为例,来对"MTP协议中Initiator到Reponser的流程"进行说明。第5部分 MTP协议之R->I流程 以"Android设备中将一个文件拷
阅读全文
posted @ 2013-12-15 10:11
如果天空不死
阅读(36505)
推荐(12)
编辑
摘要:
概述转载请注明出处:http://www.cnblogs.com/skywang12345/p/3470728.htmlFreeCommander(下文简称FC),是Windows下面比较强大的文件管理工具。本文就是笔者分享自己使用FC的一些心得,希望对您能有所帮助。文章主要包括3个方面的内容:FC安装和基本设置、FC中的快捷键、FC插件。第1部分 安装和基本设置1 FC下载/安装(01) 可以到FreeCommander的官网上下载FreeCommander。 下载网址:http://www.freecommander.com/(02) 安装后桌面会创建FreeCommander快捷图标..
阅读全文
posted @ 2013-12-12 12:24
如果天空不死
阅读(13158)
推荐(5)
编辑
摘要:
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/string01.html更多内容请参考:1.StringBuilder 详解 (String系列之2)2.StringBuffer 详解 (String系列之3)String 简介String 是java中的字符串,它继承于CharSequence。String类所包含的API接口非常多。为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序。String 和 CharSequence 关系St
阅读全文
posted @ 2013-11-08 08:36
如果天空不死
阅读(114020)
推荐(19)
编辑
摘要:
本章介绍StringBuffer以及它的API的详细使用方法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/string03.htmlStringBuffer 简介StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuffer 和 CharSequence
阅读全文
posted @ 2013-11-08 08:34
如果天空不死
阅读(23326)
推荐(1)
编辑
摘要:
本章介绍StringBuilder以及它的API的详细使用方法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/string02.htmlStringBuilder 简介StringBuilder 是一个可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuffer 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuilder 和 CharSequence之间
阅读全文
posted @ 2013-11-08 08:33
如果天空不死
阅读(62584)
推荐(7)
编辑
摘要:
本文主要介绍 RandomAccessFile。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_26.html更多内容请参考:java io系列01之 "目录"RandomAccessFileRandomAccessFile 是随机访问文件(包括读/写)的类。它支持对文件随机访问的读取和写入,即我们可以从指定的位置读取/写入文件数据。需要注意的是,RandomAccessFile 虽然属于java.io包,但它不是InputStream或者OutputStream的子类;它也不同于FileInputStream和FileOu
阅读全文
posted @ 2013-11-07 21:51
如果天空不死
阅读(14333)
推荐(0)
编辑
摘要:
更多内容请参考:java io系列01之 "目录"PrintWriter 介绍PrintWriter 是字符类型的打印输出流,它继承于Writer。PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。PrintWriter 函数列表PrintWriter(OutputStream out)PrintWriter(OutputStream out, boolean autoFlush)PrintWriter(Writer
阅读全文
posted @ 2013-11-07 21:45
如果天空不死
阅读(34063)
推荐(5)
编辑
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_24.html更多内容请参考:java io系列01之 "目录"BufferedWriter 介绍BufferedWriter 是缓冲字符输出流。它继承于Writer。BufferedWriter 的作用是为其他字符输出流添加一些缓冲功能。BufferedWriter 函数列表// 构造函数BufferedWriter(Writer out) BufferedWriter(Writer out, int sz) void close() ...
阅读全文
posted @ 2013-11-05 20:36
如果天空不死
阅读(11420)
推荐(0)
编辑
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_23.html更多内容请参考:java io系列01之 "目录"BufferedReader 介绍BufferedReader 是缓冲字符输入流。它继承于Reader。BufferedReader 的作用是为其他字符输入流添加一些缓冲功能。BufferedReader 函数列表BufferedReader(Reader in)BufferedReader(Reader in, int size)void close()void mark(int markLimit)boolea
阅读全文
posted @ 2013-11-05 09:21
如果天空不死
阅读(73037)
推荐(10)
编辑
摘要:
FileReader 是用于读取字符流的类,它继承于InputStreamReader。要读取原始字节流,请考虑使用 FileInputStream。FileWriter 是用于写入字符流的类,它继承于OutputStreamWriter。要写入原始字节流,请考虑使用 FileOutputStream。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_22.html更多内容请参考:java io系列01之 "目录"FileReader和FileWriter源码分析1. FileReader 源码(基于jdk1.7.40) 1
阅读全文
posted @ 2013-11-04 23:42
如果天空不死
阅读(3146)
推荐(0)
编辑
摘要:
InputStreamReader和OutputStreamWriter 是字节流通向字符流的桥梁:它使用指定的 charset 读写字节并将其解码为字符。InputStreamReader 的作用是将“字节输入流”转换成“字符输入流”。它继承于Reader。OutputStreamWriter 的作用是将“字节输出流”转换成“字符输出流”。它继承于Writer。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_21.html更多内容请参考:java io系列01之 "目录"InputStreamReader和OutputSt
阅读全文
posted @ 2013-11-04 23:33
如果天空不死
阅读(5517)
推荐(2)
编辑
摘要:
本章,我们学习PipedReader和PipedWriter。它们和“PipedInputStream和PipedOutputStream”一样,都可以用于管道通信。PipedWriter 是字符管道输出流,它继承于Writer。PipedReader 是字符管道输入流,它继承于Writer。PipedWriter和PipedReader的作用是可以通过管道进行线程间的通讯。在使用管道通信时,必须将PipedWriter和PipedReader配套使用。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_20.html更多内容请参考:java io
阅读全文
posted @ 2013-11-04 23:27
如果天空不死
阅读(6593)
推荐(3)
编辑
摘要:
本章,我们学习CharArrayWriter。学习时,我们先对CharArrayWriter有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_19.html更多内容请参考:Java io系列 "目录"CharArrayWriter 介绍CharArrayReader 用于写入数据符,它继承于Writer。操作的数据是以字符为单位!CharArrayWriter 函数列表CharArrayWriter()CharArrayWriter(int initialSi
阅读全文
posted @ 2013-11-04 15:26
如果天空不死
阅读(5682)
推荐(1)
编辑
摘要:
在前一篇文章"Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)"中,我们谈到“马达等系统服务都是通过SystemServer启动/管理的”。本章,我们就Android的系统启动流程进行分析;也说说SystemServer到底是如何工作的。转载请注明出处:http://www.cnblogs.com/skywang12345/p/3405100.html在详细说明之后,我们先建立个整体思路:Kernel中启动的第一个用户
阅读全文
posted @ 2013-11-04 09:18
如果天空不死
阅读(6752)
推荐(2)
编辑
摘要:
在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的。写那篇文章的目的,是想彻底的了解从硬件到驱动,再到应用的运作流程。完成了之后,文章一直仍在草稿箱里面没发表;今天看到,决定整理一下,重新发表。目的是想和大家分享自己对Android系统的一点认识:以马达为代表,来考究“Android是如何一步步工作的。它从硬件设计,到Linux驱动,再到HAL,再到JNI,再到Framework,最后到被应用调用,这整套的流程到底是怎么样的!” 转载请注明出处:http://www.cnblogs.c...
阅读全文
posted @ 2013-11-03 16:24
如果天空不死
阅读(10502)
推荐(6)
编辑
摘要:
从本章开始,我们开始对java io中的“字符流”进行学习。首先,要学习的是CharArrayReader。学习时,我们先对CharArrayReader有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_18.htmlCharArrayReader 介绍CharArrayReader 是字符数组输入流。它和ByteArrayInputStream类似,只不过ByteArrayInputStream是字节数组输入流,而CharArray是字符数组输入流。CharArrayReade
阅读全文
posted @ 2013-11-03 09:45
如果天空不死
阅读(3793)
推荐(1)
编辑
摘要:
我们初学java的第一个程序是"hello world"1 public class HelloWorld {2 public static void main(String[] args) {3 System.out.println("hello world");4 }5 }上面程序到底是怎么在屏幕上输出“hello world”的呢?这就是本来要讲解的内容,即System.out.println("hello world")的原理。我们先看看System.out.println的流程。先看看System.java中out的定义,源
阅读全文
posted @ 2013-11-01 23:48
如果天空不死
阅读(9192)
推荐(11)
编辑
摘要:
本章介绍PrintStream以及 它与DataOutputStream的区别。我们先对PrintStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_16.htmlPrintStream 介绍PrintStream 是打印输出流,它继承于FilterOutputStream。PrintStream 是用来装饰其它输出流。它能为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。与其他输出流不同,PrintStream 永远不会抛出 IOException;它产生
阅读全文
posted @ 2013-11-01 17:37
如果天空不死
阅读(45464)
推荐(8)
编辑
摘要:
本章介绍DataOutputStream。我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_15.htmlDataOutputStream 介绍DataOutputStream 是数据输出流。它继承于FilterOutputStream。DataOutputStream 是用来装饰其它输出流,将DataOutputStream和DataInputStream输入流配合使用,“允许应用程序以与机器无关方式从底层输入流中读写基本 Java 数据类
阅读全文
posted @ 2013-11-01 09:14
如果天空不死
阅读(13916)
推荐(3)
编辑
摘要:
本章介绍DataInputStream。我们先对DataInputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_14.htmlDataInputStream 介绍DataInputStream 是数据输入流。它继承于FilterInputStream。DataInputStream 是用来装饰其它输入流,它“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”。应用程序可以使用DataOutputStream(数据输出流)写入由DataInput
阅读全文
posted @ 2013-10-31 23:30
如果天空不死
阅读(75080)
推荐(10)
编辑
摘要:
本章内容包括3个部分:BufferedOutputStream介绍,BufferedOutputStream源码,以及BufferedOutputStream使用示例。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_13.html BufferedOutputStream 介绍BufferedOutputStream 是缓冲输出流。它继承于FilterOutputStream。BufferedOutputStream 的作用是为另一个输出流提供“缓冲功能”。BufferedOutputStream 函数列表BufferedOutputStrea
阅读全文
posted @ 2013-10-26 21:10
如果天空不死
阅读(33919)
推荐(5)
编辑
摘要:
本章内容包括3个部分:BufferedInputStream介绍,BufferedInputStream源码,以及BufferedInputStream使用示例。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_12.html BufferedInputStream 介绍BufferedInputStream 是缓冲输入流。它继承于FilterInputStream。BufferedInputStream 的作用是为另一个输入流添加一些功能,例如,提供“缓冲功能”以及支持“mark()标记”和“reset()重置方法”。BufferedInput
阅读全文
posted @ 2013-10-26 09:56
如果天空不死
阅读(29229)
推荐(8)
编辑
摘要:
FilterOutputStream 介绍FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。(01) BufferedOutputStream的作用就是为“输出流提供缓冲功能”。(02)DataOutputStream 是用来装饰其它输出流,将DataOutputStream和DataInputStream输入流配合使用,“允许应用程序以与机器无关方式从底层输入流中读写基本 Java 数据类型”。(03)PrintStream 是用来装饰
阅读全文
posted @ 2013-10-26 09:28
如果天空不死
阅读(5065)
推荐(0)
编辑
摘要:
FilterInputStream 介绍FilterInputStream 的作用是用来“封装其它的输入流,并为它们提供额外的功能”。它的常用的子类有BufferedInputStream和DataInputStream。BufferedInputStream的作用就是为“输入流提供缓冲功能,以及mark()和reset()功能”。DataInputStream 是用来装饰其它输入流,它“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”。应用程序可以使用DataOutputStream(数据输出流)写入由DataInputStream(数据输入流)读取的数据。Filte
阅读全文
posted @ 2013-10-26 09:23
如果天空不死
阅读(11272)
推荐(2)
编辑
摘要:
本章对FileDescriptor进行介绍转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_09.htmlFileDescriptor 介绍FileDescriptor 是“文件描述符”。FileDescriptor 可以被用来表示开放文件、开放套接字等。以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor看成是该文件。但是,我们不能直接通过FileDescriptor对该文件进行操作;若需要通过FileDescriptor对该文件进行操作,则需要新创建FileDes
阅读全文
posted @ 2013-10-24 22:48
如果天空不死
阅读(26650)
推荐(9)
编辑
摘要:
本文对File的API和常用方法进行介绍。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_08.htmlFile 介绍File 是“文件”和“目录路径名”的抽象表示形式。File 直接继承于Object,实现了Serializable接口和Comparable接口。实现Serializable接口,意味着File对象支持序列化操作。而实现Comparable接口,意味着File对象之间可以比较大小;File能直接被存储在有序集合(如TreeSet、TreeMap中)。File 函数列表// 静态成员public static final Str
阅读全文
posted @ 2013-10-24 22:38
如果天空不死
阅读(8891)
推荐(4)
编辑
摘要:
本章介绍FileInputStream 和 FileOutputStream转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.htmlFileInputStream 和 FileOutputStream 介绍FileInputStream 是文件输入流,它继承于InputStream。通常,我们使用FileInputStream从某个文件中获得输入字节。FileOutputStream 是文件输出流,它继承于OutputStream。通常,我们使用FileOutputStream 将数据写入 File 或 FileDescriptor 的输
阅读全文
posted @ 2013-10-24 22:20
如果天空不死
阅读(20224)
推荐(5)
编辑
摘要:
本章,我们对序列化进行深入的学习和探讨。学习内容,包括序列化的作用、用途、用法,以及对实现序列化的2种方式Serializable和Externalizable的深入研究。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_06.html1. 序列化是的...
阅读全文
posted @ 2013-10-23 23:37
如果天空不死
阅读(7829)
推荐(7)
编辑
摘要:
本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。创建“文件输出流”对应的ObjectOutputStream对象,该ObjectOutputStream对象能提供对“基本数据或对象”的持久存储;当我们需要读取这些存储的“基本数据或对象”时,可以创建“文件输入流”对应的ObjectInputStream,进而读取出这些“基本数据或对象”。注意: 只有
阅读全文
posted @ 2013-10-23 23:01
如果天空不死
阅读(6853)
推荐(1)
编辑
摘要:
本章,我们对java 管道进行学习。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_04.htmljava 管道介绍在java中,PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流。它们的作用是让多线程可以通过管道进行线程间的通讯。在使用管道通信时,必须将PipedOutputStream和PipedInputStream配套使用。使用管道通信时,大致的流程是:我们在线程A中向PipedOutputStream中写入数据,这些数据会自动的发送到与PipedOutputStream对应的PipedIn
阅读全文
posted @ 2013-10-22 22:23
如果天空不死
阅读(26151)
推荐(13)
编辑
摘要:
前面学习ByteArrayInputStream,了解了“输入流”。接下来,我们学习与ByteArrayInputStream相对应的输出流,即ByteArrayOutputStream。本章,我们会先对ByteArrayOutputStream进行介绍,在了解了它的源码之后,再通过示例来掌握如何使用它。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_03.htmlByteArrayOutputStream 介绍ByteArrayOutputStream 是字节数组输出流。它继承于OutputStream。ByteArrayOutputStre
阅读全文
posted @ 2013-10-22 08:40
如果天空不死
阅读(13954)
推荐(6)
编辑