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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • 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

随机推荐