FileInputStream读取一个或多个字符

一次读取一个字符

利用read()方法进行读取,速度慢

               //加载一个文件,使用绝对路径定位文件
		
		String path = this.getServletContext().getRealPath("a.txt");
		System.out.println(path);
		
		//加载文件,二进制流字节码
		FileInputStream in = new FileInputStream(path);
		System.out.println(in);
		
		//获取字节码,一次读取一个字符
		while(true) {
			if(in.read() == -1) {//判断是否读取完毕
				break;
			}
			System.out.println(in.read());
		}
		
		//关闭文件
		in.close();

一次读取多个字符

利用byte[ ] 数组进行读取。

              //加载一个文件,使用绝对路径定位文件
		
		String path = this.getServletContext().getRealPath("a.txt");
		System.out.println(path);
		
		//加载文件,二进制流字节码
		FileInputStream in = new FileInputStream(path);
		System.out.println(in);
		
		byte[] buffer = new byte[1024];//一次读取多少字节
		int length = 0;//当前读取字符的长度,若一个都没有读取则返回-1
		
		while( (length = in.read(buffer)) != -1) {
			System.out.println(Arrays.toString(buffer));//输出每个字符对应的ASCII字节码
			System.out.println(new String(buffer,0,1024));//将字节码转换成对应的字符串
		}
		
		//关闭文件
		in.close();

简单在浏览器中显示一张图片

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		//获取文件路径
		String path = this.getServletContext().getRealPath("hern.png");
		
		//加载图片
		FileInputStream in = new FileInputStream(path);
		
		//获取一个输出流
		ServletOutputStream out = response.getOutputStream();
		
		byte[] buffer = new byte[1024];
		Integer length = 0;
		while( (length = in.read(buffer)) != -1) {
			System.out.println(length);
			System.out.println(Arrays.toString(buffer));
			out.write(buffer, 0, length);
		}
		
	}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Closeable Closeable 是可以关闭的数据源或目标。 DataInput DataInput 接口用于从二进制流中读取节,并根据所有 Java 基本类型数据进行重构。 DataOutput DataOutput 接口用于将数据从任意 Java 基本类型转换为一系列节,并将这些节写入二进制流。 Externalizable Externalizable 实例类的唯一特性是可以被写入序列化流中,该类负责保存和恢复实例内容。 FileFilter 用于抽象路径名的过滤器。 FilenameFilter 实现此接口的类实例可用于过滤器文件名。 Flushable Flushable 是可刷新数据的目标地。 ObjectInput ObjectInput 扩展 DataInput 接口以包含对象的读操作。 ObjectInputValidation 允许验证图形中对象的回调接口。 ObjectOutput ObjectOutput 扩展 DataOutput 接口以包含对象的写入操作。 ObjectStreamConstants 写入 Object Serialization Stream 的常量。 Serializable 类通过实现 java.io.Serializable 接口以启用其序列化功能。 类摘要 BufferedInputStream BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。 BufferedOutputStream 该类实现缓冲的输出流。 BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 ByteArrayInputStream ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取节。 ByteArrayOutputStream 此类实现了一个输出流,其中的数据被写入一个 byte 数组。 CharArrayReader 此类实现一个可用作字符输入流的字符缓冲区。 CharArrayWriter 此类实现一个可用作 Writer 的字符缓冲区。 Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)。 DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。 DataOutputStream 数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。 File 文件和目录路径名的抽象表示形式。 FileDescriptor 文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接或者节的另一个源或接收者。 FileInputStream FileInputStream 从文件系统中的某个文件中获得输入节。 FileOutputStream 文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。 FilePermission 此类表示对文件和目录的访问。 FileReader 用来读取字符文件的便捷类。 FileWriter 用来写入字符文件的便捷类。 FilterInputStream FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。 FilterOutputStream 此类是过滤输出流的所有类的超类。 FilterReader 用于读取已过滤的字符流的抽象类。 FilterWriter 用于写入已过滤的字符流的抽象类。 InputStream 此抽象类是表示节输入流的所有类的超类。 InputStreamReader InputStreamReader 是节流通向字符流的桥梁:它使用指定的 charset 读取节并将其解码为字符。 LineNumberInputStream 已过时。 此类错误假定节能充分表示字符。 LineNumberReader 跟踪行号的缓冲字符输入流。 ObjectInputStream ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。 ObjectInputStream.GetField 提供对从输入流读取的持久段的访问权限。 ObjectOutputStream ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。 ObjectOutputStream.PutField 提供对要写入 ObjectOutput 的持久段的编程访问。 ObjectStreamClass 类的序列化描述符。 ObjectStreamField Serializable 类中 Serializable 段的描述。 OutputStream 此抽象类是表示输出节流的所有类的超类。 OutputStreamWriter OutputStreamWriter 是字符流通向节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成节。 PipedInputStream 管道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据节。 PipedOutputStream 可以将管道输出流连接到管道输入流来创建通信管道。 PipedReader 传送的字符输入流。 PipedWriter 传送的字符输出流。 PrintStream PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。 PrintWriter 向文本输出流打印对象的格式化表示形式。 PushbackInputStream PushbackInputStream 为另一个输入流添加性能,即“推回 (push back)”或“取消读取 (unread)”一个节的能力。 PushbackReader 允许将字符推回到流的字符流 reader。 RandomAccessFile 此类的实例支持对随机访问文件的读取和写入。 Reader 用于读取字符流的抽象类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值