java中inputstream的使用

java中的inputstream是一个面向字节的流抽象类,其依据详细应用派生出各种详细的类。

比方FileInputStream就是继承于InputStream,专门用来读取文件流的对象,其详细继承结构如图

我们发现。是从抽象类InputStream继承而来的。

我们继续看样例,实现从txt文件里。读取字符。当中test.txt已经提前新建好。放到project文件夹下了。

package com.itbuluoge.test;

import java.io.FileInputStream;

public class ByteInputFile {

	public static String read() throws Exception
	{
		FileInputStream fit=new FileInputStream("test.txt");
		int c;
		String sb="";
		while((c=fit.read())!=-1)
		{
			sb+=(char)c;
		}
		return sb;
	}
	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		System.out.println(read());
	}

}

输出结果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRidWx1b2dl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

这里要注意一点,InputStream是面向字节的流。因此每次操作都是针对于一个字节,因此就无法对中文进行处理,读出写入都会出现乱码。继承而来的FileInputStream是一样的。因此我们这里測试。仅仅是用了英文字符

时间: 2024-10-24 12:30:49

java中inputstream的使用的相关文章

java中InputStream中read()与read(byte[] b) 用法介绍

本文章介绍了关于在java中InputStream中read()与read(byte[] b) 用法有需要了解这两个函数的朋友可以看看本文章. 这两个方法在抽象类InputStream中都是作为抽象方法存在的, JDK API中是这样描述两者的: read() :  从输入流中读取数据的下一个字节,返回0到255范围内的int字节值.如果因为已经到达流末尾而没有可用的字节,则返回-1.在输入数据可用.检测到流末尾或者抛出异常前,此方法一直阻塞. read(byte[] b) : 从输入流中读取一

Java中InputStream和String之间的转化

https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,还有一些外部依赖提供的.1.InputStream转化为String1.1 JDK原生提供 方法一:byte[] bytes = new byte[0];bytes = new byte[inputStream.available()];inputStream.r

Java中InputStream和String之间的转换方法

源码地址: https://github.com/pnunu/pnunu-io 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,还有一些外部依赖提供的. 1.InputStream转化为String 1 JDK原生提供 方法一: byte[] bytes = new byte[inputStream.available()]; inputStream.read(bytes); String str = new Strin

java中InputStream String

Java 中获取输入流时,有时候须要将输入流转成String,以便获取当中的内容 ,以下总结一下 InputStream 转成String 的方式  方法1: public String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); Strin

Java中InputStream输入流转String字符串的操作

一.InputStream类中read方法 package com.zhiyin.test; import java.io.InputStream; public class MyTest { public static void main(String[] args) { MyTest myTest = new MyTest(); myTest.test(); } public void test() { try { // 读取测试文件 MyTest test = new MyTest();

java中InputStream转化为byte[]数组

//org.apache.commons.io.IOUtils.toByteArray已经有实现 String filePath = "D:\\aaa.txt"; in = new FileInputStream(new File(filePath)); fileBytes =IOUtils.toByteArray(in); 版权声明:本文为博主原创文章,未经博主允许不得转载.

java中如何将OutputStream转换为InputStream

在不需要文件生成的情况下,直接将输出流转换成输入流.可使用下面的三种方法: 如果你曾经使用java IO编程,你会很快碰到这种情况,某个类在OutputStream上创建数据而你需要将它发送给某个需要从输入流读取数据的类. 你很快会被问道,“java中如何将OutputStream转换为InputStream?” 方法一:使用字节数组缓存数据 最简单的方法是用字节数组缓存数据.代码 ByteArrayOutputStream out = new ByteArrayOutputStream();

Java中I/O流之数据流

Java 中的数据流: 对于某问题:将一个 long 类型的数据写到文件中,有办法吗?    转字符串 → 通过 getbytes() 写进去,费劲,而且在此过程中 long 类型的数需要不断地转换. 现在,Java 中的数据流能够很好的解决这个问题(不需要转换,直接写进去) 1. DataInputStream 与 DataOutputStream 分别继承自 InputStream.OutputStream, 它属于处理流,需要分别套接在 InputStream.OutputStream 类

Java中的IO流

Java中的IO流是实现输入/输出的基础. 按照流的方向不同:分为输入流和输出流. 按照处理数据单位的不同:分为字节流(8位)和字符流(16位). 按照功能不同:分为节点流和处理流 所有面向字节的流类都继承于InputStream类(输入流) 或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能. InputStream.OutputStream都是抽象类 InputStream抽象了应用程序读取数据的方式 OutputStream抽象类应用程序写出数据