JAVA 中的文件读取

1. InputStream / OutputStream
处理字节流
抽象类:所有输入、输出(内存)类的超类,一般使用 FileInputStream / FileOutputStream

输出字符 utf8 编码:如 4431

2. InputStreamReader / OutputStreamWriter
处理字符流
抽象类
  InputStreamReader:字节流通向字符流的桥梁,将字节流转换为字符流
  OutputStreamWriter:字符流通向字节流的桥梁,将字符流转换为字节流

输出字符:一个个字符,如:a 或者 陈(汉字)

3. BufferedReader / BufferedWriter
Reader 类扩展,文本读取的通用缓冲方式,readLine 方法读取一个文本行,从【字符输入流】读取文本,缓冲各个字符,以提高字符、数组和行的读取效率。
Writer 类扩展而来,文本写入的通用缓冲方式,newLine 使用平台自己的行分隔符,将文本写入【字符输出流】,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

输出文本行

InputStream 能从来源处读取一个一个字节(Byte),所以他是最低级的。

进化过程:
  FileInputStream(byte)  -->  InputStreamReader(字符)  -->  BufferedReader(行)

InputStreamReader 与 FileReader 的区别:
  InputStreamReader 是用来读取原始字节流,可指定编码格式
  FileReader 是读取字符流,使用系统默认的编码格式,当读取中文文件是易出现乱码问题。

原文地址:https://www.cnblogs.com/jarod99/p/9433630.html

时间: 2024-10-16 04:47:31

JAVA 中的文件读取的相关文章

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

Java学习-017-EXCEL 文件读取实例源代码

众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 Sheet 页中的数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感激! 不多言,小二上码咯... 通过 sheet_index 读取 EXCEL 数据源代码如下所示,敬请参阅! 1 /** 2 * @function 文件读取: EXCEL文件 3 * @description 通过EXCE

Java学习-019-Properties 文件读取实例源代码

在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可以方便的修改 ini 配置文件.在 Java 中对应的配置文件为 properties 格式的文本文件,其对应的内容格式为 “键=值” ,文本注释信息可以用 “#” 注释.同时 Java 语言中对应的类为 Properties(java.util.Properties),即为读取 propertie

java中Jnotify文件监视库的使用

jnotify-0.94 下载地址:http://download.csdn.net/detail/zxnlmj/7499157 本人测试环境为win7环境,使用Myeclipse 1.建一个java或者javaweb项目... 2.将jnotify-lib-0.94压缩包解压缩,添加其中的jnotify-0.94.jar到项目中(java项目需要手动build to path,javaweb不需要). 3.建立测试类JnotifyTest.java如下,使用junit进行测试: package

Java中的文件操作

在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前,我们要知道,计算机其实就是一个文件系统.在计算机中,我们能在硬盘中看到的所有东西都叫文件.由此看来,计算机中文件是一个很广的范围.事实上,计算机中文件被分为了3种,一个是标准文件,一个是目录文件,还有一个就是虚拟内存文件. 这三种对于文件的分类没有一个明确的定义,后缀名是(.txt..doc..m

Java中移动文件或目录的方法盘点

本文不再更新,可能存在内容过时的情况,实时更新请移步原文地址:Java中移动文件或目录的方法盘点: import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; public class M

java中利用RandomAccessFile读取超大文件

超大文件我们使用普通的文件读取方式都很慢很卡,在java中为我提供了RandomAccessFile函数,可以快速的读取超大文件并且不会感觉到卡哦,下面看我的一个演示实例. 服务器的日志文件往往达到400多M,简单的文件读取实在太慢,太占用机器资源. 特别是如果你需要5分钟就扫描一次日志文件,来统计一些即时数据.比如刚才10分钟的来访客户(大型网站用户统计系统例如51.la 会经常用到吧.)即时扫描大数据文件中的一部分显得非常之重要.本文讲述了如果使用java的RandomAccessFile方

Android(java)学习笔记167:Java中操作文件的类介绍

1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creates a new File instance by converting the given pathname string into an abstract pathname. 2)File(File parent, String child)       Creates a new File i

Java中实现文件上传下载的三种解决方案

第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null; String fileAddre="/numUp"; try { InputStream stream = file.getInputStream();// 把文件读入 String filePath = request.getRealPath(fileAddre);//取系统当前路径