Java成长第四集--文本处理IO流】的更多相关文章

Java IO流在实际业务中使用的频率还是蛮高的,一些业务场景比如,文件的上传和导出,文件的读取等基本都是通过操作IO流来实现的,所以IO流是我们现在学习过程中必须要掌握的技能之一,熟练的使用IO流,理解它的操作过程,能够让我们在今后的开发过程中达到事半功倍的效果.话不多说,首先,让我们来看看Java IO流的组织架构图: 所以,我们可以清晰的发现IO流中主要分为了两类,一类是字节流一类是字符流,要知道两者的区别,我们还需要理解一个概念, 流: 在程序中所有的数据都是以流的方式进行传输或保存的,…
一.复制文本文件 将G盘的文本文件拷贝到D盘上 也就是 读取G盘中文本文件的数据.写入D盘中->连读带写 而剪切呢.就是连读带写后,删除原盘的文件 <span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public clas…
FileInputStream : 输入流 int available() : 一次读取所有的字节数 read() : 将文件上的字节读取到内存的数组中 FileOutputStream : 输出流 write(byte[] b) : 将字节数组中的字节数据写到文件上 缓冲区会在内存中创建一个8192容量的字节数组,内存的运算效率比硬盘要高的多所有只要降低到硬盘的读写次数就会提高效率. 定义小数组的标准格式:进行读写字节数据,要比缓冲流快一点点,因为定义小数组是操作一个的是一个数组,而缓冲流操作…
前面介绍的文件I/O,不管是写入文本还是写入对象,文件中的数据基本是原来的模样,用记事本之类的文本编辑软件都能浏览个大概.这么存储数据,要说方便确实方便,只是不够经济划算,原因有二:其一,写入的数据可能存在大量重复的信息,但依原样写到文件的话,无疑保留了不少冗余数据,造成空间浪费:其二,写入的数据多以明文方式保存,容易产生信息泄露,安全性不高.为此Java提供了简单的压缩和解压工具,在将数据写入文件之前,先对数据进行压缩,再将压缩后的结果写到文件:同样读取压缩文件之时,先读出已压缩的数据,再将这…
字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Writer,这两个类是抽象类,一般我们使用的都是他们的子类 FileReader和FileWriter我们一般使用的 FileReader的使用: FileReader用于读取字符,调用read方法的时候,是读取一个字符 read方法的放回值是int,它是把char转成了int 以后我们在读取纯文本的文件的…
IO流的概述及其分类 IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流(读写数据)     输出流(写数据) 流按操作类型分为两种: 字节流:字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 字符流:字符流只能操作纯字符数据,比较方便 常用的IO流的类 字节流的抽象父类:InputStream     OutputStream 字符流的抽象方法:Reader   Writer InputStre…
前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习,本质上就是对文件的读写操作. File类 java中使用File来抽象一个文件,无论是普通文件还是目录,都可应对与一个File对象. File只是抽象的代表来磁盘上的某个文件或者目录,内部实际上是依赖一个平台无关的本地文件系统类. File无法对其所表示的文件内容进行任何读写操作(那是流做的事情).…
File类用于访问文件或目录的属性 流:指一连串流动的字符,是以先进先出的方式发送信息的通道.程序和数据源之间是通过流联系起来的. 第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileInputStream fis=new FileInputStream("E:\\读取文件.txt"); byte[]bytes=new byte[1024]; int data; while((data=fis.read(bytes))!=-1) { Strin…
第一篇写的博客给自己的学习路线立了个flag后,感觉现在学习的积极性大增,这也离不开那几位老铁们的互相鼓励.废话不多说,现在给出自己总结的Java基础部分所要重点注意的内容,对以后的开发工作也是很常用,至少我目前的感觉是这样的!对于基础的语法和数据类型,逻辑判断等相关的,如果是刚入门的话,推荐两个简单易懂的网站:菜鸟教程.w3cschool这里可以进行相关的基础知识的学习.既然是要学习,那编程工具当然是少不了的,除了常用的记事本.notepad++等,我想大家肯定都少不了要安装一款可以运行代码的…
S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写.以下图说明: 下面就个人的理解来说说这五大原则的含义到底是什么? 一.单一职责:  我们通常都说“低耦合,高内聚”.在我看来,这里的"单一职责"就是我们通常所说的“高内聚”,即一个类只完成它应该完成的职责,不能推诿责任,也不可越殂代疱,不能成为无所不能的上帝类.如果你的团队中实施宽松的“代码集体所有权”,在编码的过程中出现许多人同时修改(维护…
接上篇文章,继续阐述相关的重点基础知识,话不多说! 一.Java中equals()和“==”区别 1.对于8种基础数据类型,使用“=="比较值是否相等: 2.对于复合数据类型(类),使用equals()和“==”效果是一样的,两者比较的都是对象在内存中的存放地址(确切的说,是堆内存地址). 3.对于引用类型String.Integer.Date等覆盖了equals()方法的类型,“==”比较的是存放的内存地址.而equals()的结果则由覆盖后的代码决定. 4.string类型中,equals(…
File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo() {//构造函数演示 //能够将一个已存在或不存在的文件或文件夹封装成File对象 File file = new File("d:\\a.txt"); File file2 = new File("d:","a.txt"); File file3…
此程序应用了: File 类,及其常用方法: FileInputStream,FileOutputStream类及其常用方法: 递归思维: package com.bjpowernode.javase.io; import java.io.*; public class IOTest { public static void main(String[] args) { //拷贝源路径:...\\pra\\... File srcFile=new File("C:\\java-prictice\\…
复习:序列流 序列流可以把多个字节输入整合成一个,从序列流中读取到数据时,将从被整合的第一个流开始读取,读完这个后,然后开始读取第二个流,依次向后推. 详细见上一篇文章 ByteArrayOutputStream自己数组输出流 这个类实现了一个输出流,其中的数据被写入一个byte数组,缓冲区会随着数据的不断写入而自动增长.可以使用toByteArray()方法和toString()获取数据 未完待续........…
Java为我们提供了多种多样的IO流,我们可以根据不同的功能及性能要求挑选合适的IO流,如图10-7所示,为Java中IO流类的体系. 注:这里只列出常用的类,详情可以参考JDK API文档.粗体标注为常用! 图10-7 Java中的IO流体系 从上图发现,很多流都是成对出现的,比如:FileInputStream/FileOutputStream,显然是对文件做输入和输出操作的.我们下面简单做个总结: 1. InputStream/OutputStream 字节流的抽象类. 2. Reader…
1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStream . java.io.OutputStream 3.用法 3.1.read&write 二者都不是接口,而是抽象类,它们分别是所有输入流和输出流的超类.这两个抽象类定义了两个最重要的方法: int read():读取输入流的下一个byte,返回该byte表示的int值(0~255).读到末尾,返回…
IO流(字符流FileReader) IO流(字符流FileWriter) IO流(字符流的拷贝) IO流(什么情况下使用字符流) IO流(字符流是否可以拷贝非纯文本的文件) IO流(自定义字符数组的拷贝) IO流(带缓冲的字符流) IO流(readLine()和newLine()方法) IO流(将文本反转) IO流(LineNumberReader) IO流(装饰设计模式) IO流(使用指定的码表读写字符) IO流(转换流图解) IO流(获取文本上字符出现的次数) IO流(试用版软件) Fil…
1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类. 基本特点: 1.操作的数据都是字节. 2.定义了输出字节流的基本共性功能. 3.输出流中定义都是写write方法.操作字节数组write(byte[]),操作单个字节write(byte). 子类有规律:所有的子类名称后缀是父类名,前缀名是这个流对象功能. 想要操作文件: FileOutputS…
上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串.之所以把这个类放在IO流中来记录,原因就是因为此类可保存在流中或从流中加载. 先记录一下Properties集合的特点: 1,集合中的键和值都是字符串类…
在上一篇文章中Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream介绍了缓冲流中的字节流,而这一篇着重介绍缓冲流中字符流BufferedReader.BufferedWriter. 类的继承关系 Reader |__ BufferedReader.StringReader.InputStreamReader |__ FileReader Writer |__ BufferedWriter.StringWriter.OutputStr…
前面的一些文章中我总结了一些Java IO和NIO相关的主要知识点,也是管中窥豹,IO类库已经功能很强大了,但是Java 为什么又要引入NIO,这是我一直不是很清楚的?前面也只是简单提及了一下:因为性能,但是仅仅是因为性能吗,除此之外是否还有别的原因,或者说既然NIO性能好,那为什么现在我们还在使用IO.本节我们就来详细对比一下两者的特性以及两者之间的不一致对我们编码所带来的影响. 同样,本文会主要围绕下面几个方面来总结: Java NIO和IO的主要区别 NIO和IO的不同对代码设计带来的变化…
为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既然是流动也就会有方向,有入方向和出方向.举个上传文件的栗子,现在有三个对象,文件.应用程序.上传的目标地址(服务器).简化的上传文件有两步: 应用程序读文件…
前面一章介绍了字节流的使用,提到了字节流在处理utf-8编码的中文可能会出现乱码的情况(其他编码的中文同样会出现乱码),所以Java针对这一情况提供了字符流. 但是字符流只能处理字符,不能用来处理 .jpg;.mp3;.mp4;.avi;.doc;.ppt等二进制文件,这些只能通过字节流来处理.所以对于纯文本的文件,强烈推荐使用字符输入输出流. 字符流的本质其实就是基于字节流在读取时去查了指定的码表. 1.字符输入流Reader Reader是所有字符输入流的父类,定义了所有字符输入流都具有的共…
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:登录注册IO版本案例(掌握) 要求,对着写一遍. c…
File类 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例. public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例. 常用方法 获取功能的方法 public String getAbsolu…
一.IO流体系图 IO常用的几个流: [I/O流原理作用] Input/Output:输入输出机制 输入机制:允许java程序获取外部设备的数据(磁盘,光盘,网络等). 输出机制:保留java程序中的数据,输出到外部设备上(磁盘,光盘等). 二.流的分类: 通过不同的方法,可以对于进行分类. 1. 按照功能来划分: 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 2. 按照处理单元来划分 字节流和字符流操作的方式基本上完全相同.操作的数据单元不同…
一.IO流概念:1.基本概念2.IO流分类3.java.io流的四大家族4.流的close和flush方法5.java.id下常用的16个流 二.FileInputStream字节输入流1.FileInputStream完成字节流输入的流程2.使用while优化FileInputStream读取流程3.FileInputStream最终版,使用byte数组读取4.FileInputStream的available5.FileInputStream的skip方法 三.FileOutputStrea…
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和目录,File能新建.删除.重命名文件和目录,不能访问文件本身,后者需要使用输入输入流. 2.1 构造方法 File类的构造方法: File(File parent, String child) 参数:父路径,子路径 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实…
IO流的UML类图 File类 File类概述和构造方法[应用] File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的 File类的构造方法 方法名 说明 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 File(String paren…
字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什么要有字符集 我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那 么在这两者之间的转换规则就需要一个统一的标准,否则就会出现乱码了现象:小伙伴QQ上传过来的文件,在我们本地打开又乱码了. 于是为了实现转换标准,各种字符集标准就出现了. 2.什么是字符集 简单的…