- 浏览: 188855 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
学思危:
我大学的时候出来的时候也是在想这个问题,不过后来的一段时间了解 ...
应届生学C好还是学JAVA好,做什么更挣钱 -
caipeiming:
这里有个例子Java给图片加上水印并设置透明度和位置
java添加透明图片和文字水印 -
caizhongda:
雾豫园 写道 首先谢谢您这么耐心的给我解答了 然后你说 ...
应届生学C好还是学JAVA好,做什么更挣钱 -
雾豫园:
首先谢谢您这么耐心的给我解答了 然后你说到的加班倒是 ...
应届生学C好还是学JAVA好,做什么更挣钱 -
caizhongda:
雾豫园 写道caizhongda 写道雾豫园 写道老师您好 ...
应届生学C好还是学JAVA好,做什么更挣钱
对于JAVA的IO系统,从开始学习JAVA开始到现在,一直都晕的很
后来工作了也没有用到,到了再后来,能看懂IO的程序!但是自己去写就麻烦了,一点都没有头绪
很多东西都搞不清除!这个假期决定要一步步的攻克自己的弊端! 呵呵
今天晚上从IO开始! 变学习变写这篇文章!希望能在文章结束的时候能搞定IO!
首先: “流”的理解
在JAVA中,一组有序的数据序列称为“流”
流分为输入流和输出流两种!
JAVA的IO系统负责的就是程序的输入和输出! 好好看看java.io包!虽然这个包很复杂。 头晕!
IO流: 1: 字节流 java.io.InputStream / java.io.OutputStream
2:字符流 java.io.Reader / java.io.Writer
疑问: 搞不懂他们,如果简单的认为字节流是数据流中最小的数据单元是字节,字符流中最小的数据单元是字符,做开发的时候就像我一样,头晕。
字节流是最基本的! 字节流主要是用在二进制数据
字符流是基础与字节流之上!处理UNICODE数据
有个问题就是 JAVA开发中所有的中文问题都是由字节流转换成字符流的时候发生的!
记得在一篇文章上看到过一个写关于字节流和字符流相关的东西!
叫做“搬苹果”, 现在有一对苹果,你怎么搬呢,用字节流是一个一个搬,字符流是做一个箱子然后把苹果装进箱子然后再搬! 大概意思就是这个样子了,所以听了感觉就是,字符流是字节流的包装体了,事实上就是这个样子的。但这样说的话,好像是感觉字符流的效率要好过字节流了,不是这个样子的,这个故事就是说明白了字节流是和字符流的运作过程!后来和同事谈起来这个事情,他说的很好,他说字节流效率好!没有了。后来又一位同事说:1:字节流速度快 2:字符流是通过字节流转换的 所以这个故事和最后的答案都出来了!
这就是我对上面这个问题:字节流和字符流的区别的理解。
在网上找了很多IO的示例程序! 采用的IO的类或者接口可是说是让人头晕的很,所以不学习下IO的常用类或者接口是不行的啊 呵呵
从字节流开始:
InputStream :抽象类,是所有字节输入流的超类
子类: ByteArrayInputStream: 把字节数组转换为输入流,把内存中的一个缓冲区作为InputStream 使用
FileInputStream : 从文件中读取数据,把一个文件作为InputStream,实现对文件的读取操作
PipedInputStream : 连接一个PipedInputStream,实现了pipe的概念,主要在线程中使用
SequenceInputStream : 把几个输入流转换为一个输入流,把多个InputStream合并为一个InputStream
ObjectInputStream :对象输入流
FilterInputStream :装饰器,具有扩展其他输入流的功能
OutputStream:抽象类,是所有字节输出流的超类
子类: ByteArrayOutputStream : 向字节数组(内存的缓冲区)中写数据,把信息存入内存中的一个缓冲区中
FileOutputStream :向文件中写数据,把信息存入文件中
PipedInputStream :向管道中输出数据,与PipedInputStream搭配使用,实现了pipe的概念,主要在线程中使用
ObjectOutputStream :对象输出流
FilterOutputStream :装饰器,扩展其他输出流的功能
字节输入流和输出流的所有类都在这里总结,大概意思就是这样!慢慢加深理解。
字符流: (处理字符流最大的问题是进行字符编码的转换)
Reader : 读取字符流的抽象类
子类:
CharArrayReader : 适配器,把字符数组转换为Reader,从字符数组中读取字符,与ByteArrayInputStream对应
BufferedReader : 装饰器,为其他的Reader提供缓冲区。
LineNumberReader:装饰器,为其他的Reader提供缓冲区,并且可以跟踪字符输入流中的行号
StringReader : 适配器,把字符串转换为Reader,从字符串中读取字符
PipedReader :连接一个PipedWriter
FilterReader : 装饰器,扩展其他的Reader的功能
InputStreamReader : 适配器,把InputStream转换为Reader,可以指定数据源的字符编码
FileReader : 从文件中读取字符
Writer : 写入字符流的抽象类
子类:
CharArrayWriter : 适配器,把字符数组转换为Witer,向字符数组中写字符
BufferedWriter ; 装饰器,为其他的Writer提供写缓冲区
StringWriter :适配器,把StringBuffer转换为Writer,向StringBuffer中写字符
PipedWriter :连接一个PipedReader
FilterWriter :装饰器,扩展其他的Writer的功能
PringWriter :装配器,输出格式化数据
OutputStreamWriter : 适配器,把OutputStream 转换Writer ,可以指定数据汇的字符编码
FileWriter : 向文件中写字符
File 类
File类提供了管理文件或目录的方法。File实例表示真实文件系统中的一个文件或者目录。
简单程序例子: 这里是一个BufferedReader的例子,BufferedReader为其他的Reader提供了缓冲区,效率高
定义两个文件,从文件1中读取字符数据,然后写入文件2中去。
后来工作了也没有用到,到了再后来,能看懂IO的程序!但是自己去写就麻烦了,一点都没有头绪
很多东西都搞不清除!这个假期决定要一步步的攻克自己的弊端! 呵呵
今天晚上从IO开始! 变学习变写这篇文章!希望能在文章结束的时候能搞定IO!
首先: “流”的理解
在JAVA中,一组有序的数据序列称为“流”
流分为输入流和输出流两种!
JAVA的IO系统负责的就是程序的输入和输出! 好好看看java.io包!虽然这个包很复杂。 头晕!
IO流: 1: 字节流 java.io.InputStream / java.io.OutputStream
2:字符流 java.io.Reader / java.io.Writer
疑问: 搞不懂他们,如果简单的认为字节流是数据流中最小的数据单元是字节,字符流中最小的数据单元是字符,做开发的时候就像我一样,头晕。
字节流是最基本的! 字节流主要是用在二进制数据
字符流是基础与字节流之上!处理UNICODE数据
有个问题就是 JAVA开发中所有的中文问题都是由字节流转换成字符流的时候发生的!
记得在一篇文章上看到过一个写关于字节流和字符流相关的东西!
叫做“搬苹果”, 现在有一对苹果,你怎么搬呢,用字节流是一个一个搬,字符流是做一个箱子然后把苹果装进箱子然后再搬! 大概意思就是这个样子了,所以听了感觉就是,字符流是字节流的包装体了,事实上就是这个样子的。但这样说的话,好像是感觉字符流的效率要好过字节流了,不是这个样子的,这个故事就是说明白了字节流是和字符流的运作过程!后来和同事谈起来这个事情,他说的很好,他说字节流效率好!没有了。后来又一位同事说:1:字节流速度快 2:字符流是通过字节流转换的 所以这个故事和最后的答案都出来了!
这就是我对上面这个问题:字节流和字符流的区别的理解。
在网上找了很多IO的示例程序! 采用的IO的类或者接口可是说是让人头晕的很,所以不学习下IO的常用类或者接口是不行的啊 呵呵
从字节流开始:
InputStream :抽象类,是所有字节输入流的超类
子类: ByteArrayInputStream: 把字节数组转换为输入流,把内存中的一个缓冲区作为InputStream 使用
FileInputStream : 从文件中读取数据,把一个文件作为InputStream,实现对文件的读取操作
PipedInputStream : 连接一个PipedInputStream,实现了pipe的概念,主要在线程中使用
SequenceInputStream : 把几个输入流转换为一个输入流,把多个InputStream合并为一个InputStream
ObjectInputStream :对象输入流
FilterInputStream :装饰器,具有扩展其他输入流的功能
OutputStream:抽象类,是所有字节输出流的超类
子类: ByteArrayOutputStream : 向字节数组(内存的缓冲区)中写数据,把信息存入内存中的一个缓冲区中
FileOutputStream :向文件中写数据,把信息存入文件中
PipedInputStream :向管道中输出数据,与PipedInputStream搭配使用,实现了pipe的概念,主要在线程中使用
ObjectOutputStream :对象输出流
FilterOutputStream :装饰器,扩展其他输出流的功能
字节输入流和输出流的所有类都在这里总结,大概意思就是这样!慢慢加深理解。
字符流: (处理字符流最大的问题是进行字符编码的转换)
Reader : 读取字符流的抽象类
子类:
CharArrayReader : 适配器,把字符数组转换为Reader,从字符数组中读取字符,与ByteArrayInputStream对应
BufferedReader : 装饰器,为其他的Reader提供缓冲区。
LineNumberReader:装饰器,为其他的Reader提供缓冲区,并且可以跟踪字符输入流中的行号
StringReader : 适配器,把字符串转换为Reader,从字符串中读取字符
PipedReader :连接一个PipedWriter
FilterReader : 装饰器,扩展其他的Reader的功能
InputStreamReader : 适配器,把InputStream转换为Reader,可以指定数据源的字符编码
FileReader : 从文件中读取字符
Writer : 写入字符流的抽象类
子类:
CharArrayWriter : 适配器,把字符数组转换为Witer,向字符数组中写字符
BufferedWriter ; 装饰器,为其他的Writer提供写缓冲区
StringWriter :适配器,把StringBuffer转换为Writer,向StringBuffer中写字符
PipedWriter :连接一个PipedReader
FilterWriter :装饰器,扩展其他的Writer的功能
PringWriter :装配器,输出格式化数据
OutputStreamWriter : 适配器,把OutputStream 转换Writer ,可以指定数据汇的字符编码
FileWriter : 向文件中写字符
File 类
File类提供了管理文件或目录的方法。File实例表示真实文件系统中的一个文件或者目录。
简单程序例子: 这里是一个BufferedReader的例子,BufferedReader为其他的Reader提供了缓冲区,效率高
定义两个文件,从文件1中读取字符数据,然后写入文件2中去。
public class demo { public static void main(String[] args) throws IOException{ File read=new File("F:\\1.txt"); File write=new File("F:\\2.txt"); try { BufferedReader br=new BufferedReader(new FileReader(read)); BufferedWriter bw=new BufferedWriter(new FileWriter(write)); String temp=null; temp=br.readLine(); while(temp!=null){ //写文件 bw.write(temp); temp=br.readLine(); } bw.close(); br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
发表评论
-
MAPREDUCE面试题
2012-02-15 14:17 2141Map/Reduce功能很强大,只要设定合理Key、Value ... -
Hadoop 、HBase 网页收藏
2011-09-27 17:02 887Hadoop 数据类型与文件结构剖析 Sequence, Ma ... -
开源GIS软件MapServer介绍 三维Gis
2009-11-01 22:55 4792Mapserver是比较有名气的 ... -
Jacob 入门基础
2009-10-29 20:31 1120首先,大家先要了解一下jacob ,官方的解释是Java CO ... -
谈谈你对MVC和三层架构的理解?(月薪三万的面试题)
2009-10-23 15:38 1503引用V 是皮肉,是看到的东西 M 是骨骼,是里面真实的东西 ... -
Jbpm 错误 异常 总结
2009-10-19 19:53 12381、问题:org.hibernate.exception.Co ... -
Tomcat 学习笔记
2009-10-19 14:31 10211.项目的配置: {%Tomcat%}\Tomcat6\con ... -
JBPM入门攻略 安装
2009-10-18 15:38 1261一、jbpm是依赖于jboss的所以要先安装JBoss 这里有 ... -
Eclipse Ganymede 介绍
2009-10-18 09:53 1402Eclipse基金会 发布了Eclipse Ganymede, ... -
开源GIS系统
2009-10-17 19:54 1489平台的对峙 开发者 ... -
JasperReport & iReport 报表开发笔记
2009-10-17 12:57 1736iReport中文手册,非常详细:【中文的不好找的】 http ... -
关于 Hibernate 级联 删除 的问题
2009-10-15 22:27 1230Hibernate级联删除,删除某一条数据,则其子表的所有级联 ... -
java添加透明图片和文字水印
2009-10-14 19:02 6887import java.awt.AlphaComposi ... -
Jsp 和 Servlet 面试题
2009-10-14 15:25 10531、jsp有哪些内置对象作 ... -
java访问权限修饰符
2009-10-14 09:27 2286Java中: Java中的访问权限有public,priva ... -
Java 日期格式化及其使用例子收集
2009-10-06 11:00 8151 SimpleDateFormat担当重任, ... -
一篇有关Java的内存泄露的文章(受益哦)
2009-09-17 12:16 9331 引言 Java的一个 ... -
slf4j 与 log4j比较
2009-09-15 22:09 1811log4j不用说,比起jdk和common-logge ... -
List遍历
2009-07-15 20:12 3567对List的遍历有三种方式 List< ... -
javaScript向服务器请求
2009-06-18 19:16 793javaScript向服务器请求 第一种: var ...
相关推荐
### Java IO流知识点详解 #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库...
Java IO是Java编程语言中用于输入/输出操作的重要部分,它提供了一系列的类和方法来处理数据的读写,文件的创建、删除以及流的管理等。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件对象的生成**: 在...
Java IO流详解
java学习笔记1(java io/nio)设计模式
IO系统解构有装饰者设计模式息息相关,所以先从分析它们的关系:
Java IO流是Java编程语言中处理输入输出操作的重要部分,尤其在数据传输、文件读写等方面发挥着核心作用。本文将深入探讨Java IO流的基本概念、类型以及它们在实际开发中的应用。 首先,理解IO流的基本概念至关重要...
java 中文件的操作,适合基本入门的 ,
### Java IO流学习笔记 #### 一、IO流的四大抽象类 - **InputStream/OutputStream**:字节的输入输出流的抽象类。 - 数据单位:字节(8比特,范围0-255) - **Reader/Writer**:字符的输入输出流的抽象类。 - ...
### Java IO流学习笔记 #### 异常处理与IO流操作 在进行Java IO流的学习过程中,异常处理是非常重要的一个方面。本节将详细介绍如何在Java中处理异常,并结合具体的IO流操作进行说明。 #### 一、异常处理 在Java...
Java IO系统是Java编程语言中不可或缺的一部分,它提供了丰富的类库来处理输入和输出操作,包括文件读写、网络通信、数据转换等。这个资料包包含了一份PPT、一个源代码示例以及一些相关的文档,旨在帮助我们深入理解...
Java IO流处理是Java编程中一个非常重要的概念,主要用于数据的输入和输出操作。对于Java初学者来说,理解和掌握IO流的基本使用至关重要。在Java中,流被形象地比喻为数据传输的通道,数据可以从一个源头(如文件、...
以前学java时候看的马士兵老师的教程,老师讲的较快,有些不适应,自己做些笔记巩固练习,效果还不错,贴出来分析大家把,配图+示例。。。
总结,Java IO流系统是一个庞大的框架,覆盖了从基础的文件操作到复杂的网络通信。理解并熟练掌握这一部分知识对于任何Java开发者来说都至关重要。通过这些笔记,你可以逐步了解并运用Java IO流,提升你的编程能力。
### 李兴华Java IO笔记知识点详述 #### 流和基础知识 流是计算机科学中用于数据传输的基本概念,它可以被视为一系列连续的数据元素。在Java中,流主要分为两种类型:**输入流**和**输出流**。输入流用于从数据源...
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
这份笔记是作者在深入研究JAVA编程过程中积累的宝贵经验,旨在帮助读者系统性地掌握JAVA这门强大的编程语言。 首先,笔记可能涵盖了JAVA的基础知识,如数据类型、变量、运算符、流程控制(if-else、switch-case、...