java中流的使用
Java中的流,可以从不同的角度进行分类。
一、按照数:输入流和输出流。
输出流:
输入流:
因此输入和输出都是从程序的角度来说的。
二、按照处理数据单位不同可以分为:字节流和字符流。
字节流和字符流的原理是相同的,只不过处理的单位不同而已,字节流、字符流,两类都分为输入和输出操作。
以下是java中io中常用的流。
1.在字节流中输出数据主要是使用OutputStream完成,输入流使用的是InputStream。
输出流OutputStream
String a = "d:\\bbb.txt"; File f = new File(a); FileOutputStream b = new FileOutputStream(f,true);//不加true会覆盖之前的内容,加上是在后面写。 String c = "这是要输出到文本的内容"; byte[] bbb = c.getBytes(); //字符串转类型换为byte[]数组类型 b.write(bbb); b.close();
输入流InputStream
String a = "d:\\bbb.txt"; File f = new File(a); FileInputStream b = new FileInputStream(f); byte[] bbb = new byte[(int)(f.length())];//长度可以直接取文件字节长度 b.read(bbb); b.close(); String str = new String(bbb);//转换成字符串 System.out.println(str);
2.在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)。
输出流Writer
String a = "d://bbb.txt"; File f = new File(a); FileWriter c = new FileWriter(f,true);//不加true会覆盖之前内容,加上后会在后面写 c.write("这是要输入的内容");//可以直接用字符串,不用转换(写文本类型推荐使用) c.close();
输入流Reader
String aa ="d:\\bbb.txt"; File bb =new File(aa); FileReader cc = new FileReader(bb); char[] dd = new char[100];//长度不好取(不建议用) cc.read(dd); cc.close(); String str = new String(dd);//转换为字符串 System.out.println(str)
既然Reader去长度不好用,我们还可以用Scanner(推荐)
String a = "d:\\bbb.txt"; File b = new File(a); Scanner sc = new Scanner(b); //Scanner每次只能取一行,所以全部取出要用while循环 while(sc.hasNext()){ //当还有下个值的时候循环 System.out.println(sc.nextLine()); } sc.close();
Scanner这样取出来结果是一样的
三、缓存流(处理流)。
http://www.jb51.net/article/102935.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
Java中的对象流总结(必看篇)
Java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象.对象流的存储和读取包含以下几点内容: 1.所保存的对象必须实现Serializable接口. 2. 所保存的对象的属性也必须实现Serializable接口. 3. 最好要给该对象提供一个版本号,private static final long serialVersionId. 下面是一个对象流存储和读取一个对象的流程图: class Person implements Serializable { //实现序列化
-
Java IO流体系继承结构图_动力节点Java学院整理
Java IO体系结构看似庞大复杂,其实有规律可循,要弄清楚其结构,需要明白两点: 1. 其对称性质:InputStream 与 OutputStream, Reader 与 Writer,他们分别是一套字节输入-输出,字符输入-输出体系 2. 原始处理器(适配器)与链接流处理器(装饰器) 其结构图如下: Reader-Writer体系 1. 基类 InputStream与OutputStream是所有字节型输入输出流的基抽象类,同时也是适配器(原始流处理器)需要适配的对象,也是装饰器(链接流处
-
java编程中字节流转换成字符流的实现方法
java编程中字节流转换成字符流的实现方法 import java.io.*; /*readLine方法是字符流BufferReader类中的方法 * 而键盘录入的方法是字节流InputStream的方法 * 那么能不能将字节流转成字符流再使用字符流缓冲区中的readLine方法呢? * * InputStreamReader类是字节流转向字符流的桥梁.(它本身是一个字符流所以在构造时接受一个字节流) * * */ public class TransStreamDemo { public st
-
Java IO中字节流复制图片实现代码
Java IO--字节流复制图片实例 字节流用来操作图片.视屏.音频(进制文件) 实例代码: package learn; import java.io.*; public class Learn{ public static void main(String[] args) throws IOException { File file1=new File("D:/a.jpg"); File file2=new File("D:/b.jpg"); byte[] b=
-
Java Lambda表达式之从集合到流
从集合到流 现在我们用代码来具体表示对某一集合进行迭代操作,我们希望定义一个Contact类来表示联系人,并将ContactList中所有String类型的联系人姓名全部包装进Contact类中: List<Contact> contacts = new ArrayList<>(); contactList.forEach(new Consumer<String>() { @Override public void accept(String s) { Contact
-
详解java IO流之缓冲流的使用
java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装.当对文件或其他目标频繁读写或操作效率低,效能差.这时使用缓冲流能够更高效的读写信息.因为缓冲流先将数据缓存起来,然后一起写入或读取出来.所以说,缓冲流还是很重要的,在IO操作时记得加上缓冲流提升性能. 缓冲流分为字节和字符缓冲流 字节缓冲流为: BufferedInputStream-字节输入缓冲流 BufferedOutputStream-字节输出缓冲流 字符缓冲流为: BufferedReader-字符
-
Java中IO流简介_动力节点Java学院整理
Java io简介 Java io系统的设计初衷,就是为了实现"文件.控制台.网络设备"这些io设置的通信.例如,对于一个文件,我们可以打开文件,然后进行读取和写入.在java 1.0中,java提供的类都是以字节(byte)为单位,例如,FileInputStream和FileOutputStream.而到了java 1.1,为了与国际化进行接轨,在java io中添加了许多以字符(Unicode)为单位进行操作的类. 在java io的称呼中,我们经常会提到"输入流&qu
-
Java中IO流 字节流实例详解
Java中IO流 字节流实例详解 IO流(输入流.输出流),又分为字节流.字符流. 流是磁盘或其它外围设备中存储的数据的源点或终点. 输入流:程序从输入流读取数据源.数据源包括外界(键盘.文件.网络-),即是将数据源读入到程序的通信通道. 输出流:程序向输出流写入数据.将程序中的数据输出到外界(显示器.打印机.文件.网络-)的通信通道. 字节流 1.InputStream.OutputStream InputStream抽象了应用程序读取数据的方式 OutputStream抽象了应用程序写出数据
-
Java 中IO流字符流详解及实例
Java-IO流 字符流 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码). 文件是byte byte byte ... 的数据序列. 文本文件是文本(char)序列按照某种编码方案(uft-8.utf-16be.gbk)序列化为byte的存储结果. 字符流(Reader.Writer)-->操作的是文本.文本文件 1.字符的处理,一次处理一个字符 2.字符的底层仍然是基本的字节序列 3.字符流的基本实现: InputStreamReader是字节流通向字符
-
java中流的使用
Java中的流,可以从不同的角度进行分类. 一.按照数:输入流和输出流. 输出流: 输入流: 因此输入和输出都是从程序的角度来说的. 二.按照处理数据单位不同可以分为:字节流和字符流. 字节流和字符流的原理是相同的,只不过处理的单位不同而已,字节流.字符流,两类都分为输入和输出操作. 以下是java中io中常用的流. 1.在字节流中输出数据主要是使用OutputStream完成,输入流使用的是InputStream. 输出流OutputStream String a = "d:\\bbb.txt
-
Java中流的有关知识点详解
什么是流? 流:程序和设备之间连接起来的一根用于数据传输的管道,流就是一根管道. 流的分类: 四大基本抽象流(输入流,输出流,字符流,字节流) 文件流 缓冲流 转换流 数据流 流一定是类,但类不一定是流 print流 object流 按数据流的方向不同可以分为输入流和输出流. 按处理数据单位不同可以分为字节流和字符流.(一个字符是两个字节) 按功能不同可以分为节点(原始)流和处理(包裹)流. 字节流 字符流 输入流 InputStream Reader
-
一文彻底理解Golang闭包实现原理
目录 前言 函数一等公民 作用域 实现闭包 闭包扫描 闭包赋值 闭包函数调用 函数式编程 总结 前言 闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理. 函数一等公民 一门语言在实现闭包之前首先要具有的特性就是:First class function 函数是第一公民. 简单来说就是函数可以像一个普通的值一样在函数中传递,也能
-
java编程 中流对象选取规律详解
实例如下: import java.io.*; public class TransStreamDemo2 { /** * 流操作的基本规律 * 1. * 源,键盘录入 * 目的.控制台 * 2. * 需求:想把键盘录入的数据存储到一个文件中. * 源:键盘 * 目的:文件(FileoutputStream可以操作文件) * 3. * 需求:想把一个文件的数据打印到控制台上 * 源:某个文件 * 目的:控制台 * * * 流操作的基本规律 * 最痛苦的是流对象很多不知道用哪个 * * 通过两个明
-
Java8中流的性能及流的几个特性
摘要:本文介绍了Java8中流的几个特性,以告诫开发者流并不是高性能的代名词,需谨慎使用流.以下是译文. 流(Stream)是Java8为了实现最佳性能而引入的一个全新的概念.在过去的几年中,随着硬件的持续发展,编程方式已经发生了巨大的改变,程序的性能也随着并行处理.实时.云和其他一些编程方法的出现而得到了不断提高. Java8中,流性能的提升是通过并行化(parallelism).惰性(Laziness)和短路操作(short-circuit operations)来实现的.但它也有一个缺点,
-
基于BIO的Java Socket通信详解
BIO,即阻塞IO,在基于Socket的消息通信过程中,Socket服务端向外部提供服务,而Socket客户端可以建立到Socket服务端的连接,进而发送请求数据,然后等待Socket服务端处理,并返回处理结果(响应). 基于BIO的通信,Socket服务端会发生阻塞,即在监听过程中每次accept到一个客户端的Socket连接,就要处理这个请求,而此时其他连接过来的客户端只能阻塞等待.可见,这种模式下Socket服务端的处理能力是非常有限的,客户端也只能等待,直到服务端空闲时进行请求的处理.
-
Java 解析XML数据的4种方式
解析的四种方式 DOM 解析 SAX 解析 JDOM 解析 DOM4J 解析 案例实操 DOM 解析 DOM(Document Object Model, 文档对象模型),在应用程序中,基于 DOM 的 XML 分析器将一个 XML 文档转换成一个对象模型的集合(通常称为 DOM 树 ),应用程序正是通过对这个对象模型的操作,来实现对 XML 文档数据的操作.XML 本身是以树状的形式出现的,所以 DOM 操作的时候,也将按章树的形式进行转换.在整个 DOM 树中,最大的地方指的是 Docume
-
Java IO流之节点流与字符流的相关知识总结
一.File file是文件和目录路径名的抽象表示 1.1 File的用法 用法: File file = new File("路径名"); //如 File file = new File("L:\\FileTestDemo\\AAA\\aaa.txt"); 注意:在windows中,路径名不能使用单个的\,单个的\为转义字符,可以使用\\,//或/ 1.2 File的常用方法 1.boolean createNewFile() 当且仅当具有此名称的文件尚不存在时
-
Java基于HttpClient实现RPC的示例
目录 1 HttpClient简介 2 代码实现 2.1 服务端 2.1.1 新建控制器 2.1.2 新建启动器 2.2 客户端 2.2.1 添加依赖 2.2.2 新建类 3. Jackson用法 3.1 把对象转换为json字符串 3.2 把json字符串转换为对象 3.3 把json字符串转换为List集合 4 HttpClient请求包含JSON 4.1 java代码实现 5 控制器接口参数 6 Ajax发送json参数写法 7 跨域 1 HttpClient简介 在JDK中java.ne
-
Java Socket上的Read操作阻塞问题详解
目录 Socket上的Read操作阻塞问题 从Socket上读取对端发过来的数据一般有两种方法 总结一下,有这么几个方法 Socket编程---read方法阻塞问题 Socket上的Read操作阻塞问题 从Socket上读取对端发过来的数据一般有两种方法 1)按照字节流读取 BufferedInputStream in = new BufferedInputStream(socket.getInputStream()); int r = -1; List<Byte> l = new Linke
随机推荐
- 构造函数+原型模式构造js自定义对象(最通用)
- safari调试iOS app web页面的步骤
- Asp.net GridView使用大全(分页实现)
- js基础之DOM中元素对象的属性方法详解
- 十天学会php之第三天
- 利用PHP生成CSV文件简单示例
- python实现多线程采集的2个代码例子
- Python实用日期时间处理方法汇总
- C++设计模式之观察者模式
- fileupload控件 文件类型客户端验证实现代码
- nodejs教程之制作一个简单的文章发布系统
- Mysql 5.7 忘记root密码或重置密码的详细方法
- jquery判断iPhone、Android设备类型
- auto病毒引发木马下载者病毒的完美解决方案 原创
- Java的访问修饰符与变量的作用域讲解
- Android 应用中插入广告详解及简单实例
- Java 中POI 导入EXCEL2003 和EXCEL2007的实现方法
- 一个ftp类(ini.php)
- Question:基于C#连续赋值的面试题(解答)
- Android第三方控件PhotoView使用方法详解