`

Java读文件(转)

阅读更多
1 File类

File 类封装了对用户机器的文件系统进行操作的功能。例如,可以用 File 类获得文件上次修改的时间移动,或者对文件进行删除、重命名。换句话说,流类关注的是文件内容,而File 类关注的是文件在磁盘上的存储。
File 类的主要方法有: getName(),getCanonicalFile(),lastModified(),isDerector(),isFile(),getPath()等;

File 类与 FileInputStream 类的区别:
流类关注的是文件内容,而 File 类关注的是文件在磁盘上的存储。

2 FileInputStream 类

FileInputStream 类介绍:
以字节为单位(非unicode)的流处理。字节序列即:二进制数据。与编码无关,不存在乱码问题。因为汉字是2字节,所以没法直接读汉字,要用InputStreamReader转成字符流或者直接用FileReader。

FileInputStream 类与 FileReader 类的区别:
FileInputStream :以字节流方式读取; FileReader :把文件转换为字符流读入;
InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。
用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。

InputStreamReader ,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如 GBK 等。
FileReader 与 InputStreamReader 涉及编码转换 ( 指定编码方式或者采用 os 默认编码 ) ,可能在不同的平台上出现乱码现象!而 FileInputStream 以二进制方式处理,不会出现乱码现象 .

自己的领会:
如果处理纯文本文件,建议使用 FileReader ,因为更方便,也更适合阅读;但是要注意编码问题。
其他情况(处理非纯文本文件),FileInputStream是唯一的选择;FileInputStream是进Socket通讯时会用到很多,如将文件流是Stream的方式传向服务器!

3 FileReader 类

FileReader 类介绍:
InputStreamReader 类的子类,所有方法都从父类 InputStreamReader 中继承而来;

InputStreamReader 类的区别:
自己的领会:
该类与它的父类 InputStreamReader 的主要不同在于构造函数,主要区别也就在于构造函数!从InputStreamReader 的构造函数中看到,参数为 InputStream 和编码方式,可以看出,当要指定编码方式时,必须使用 InputStreamReader 类;而 FileReader 构造函数的参数与 FileInputStream 同,为 File 对象或表示 path 的 String ,可以看出,当要根据 File 对象或者 String 读取一个文件时,用 FileReader ;我想 FileReader 子类的作用也就在于这个小分工吧。

4 InputStreamReader 类
以文本格式输入 / 输出,可以指定编码格式;

主要方法:
getEncoding (),read();

5 BufferedReader 类

BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取分行文本很适合,BufferedReader是针对Reader的,不直接针对文件,也不是只针对文件读取。构造函数的参数都含有reader

总结以上内容,得出比较好的规范用法:

File file = new File ("hello.txt");
FileInputStream in=new FileInputStream(file);


File file = new File ("hello.txt");
FileInputStream in=new FileInputStream(file);
InputStreamReader inReader=new InputStreamReader(in);
BufferedReader bufReader=new BufferedReader(inReader);


File file = new File ("hello.txt");
FileReader fileReader=new FileReader(file);
BufferedReader bufReader=new BufferedReader(fileReader);

分享到:
评论

相关推荐

    java读文件内容小程序

    java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序java读文件内容小程序...

    java 将文件中二进制文件转换成文本文本文件并输出

    在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...

    java实现文字转语音文件和朗读

    java实现文字转语音文件和朗读功能,还要下载jacob-1.17-M2.rar文件。将jacob.jar导入java项目中,64bit就将jacob-1.18-x64.dll放入System32目录下;32bit就将jacob-1.18-x86.dll放入System32目录下。

    java nio 读文件

    三、NIO读文件的优势 1. 高效:NIO使用缓冲区进行数据传输,减少了系统调用,提高了性能。 2. 非阻塞:在等待数据时,线程可以做其他工作,避免了阻塞I/O可能导致的资源浪费。 3. 多通道:通过选择器,可以同时监控...

    Java读取大文件的处理

    Java读取大文件的处理 Java读取大文件的处理是Java编程中的一项重要技术,特别是在处理大文件时需要注意性能和响应速度。下面我们将对Java读取大文件的处理技术进行详细的介绍。 标题解释 Java读取大文件的处理是...

    Java转Pas文件官方工具(delphi的Pas文件)

    在这个场景下,"Java转Pas文件官方工具"是为了帮助开发者将Java源代码转换成Delphi可读的PAS文件。 Java源代码文件通常以`.java`为扩展名,经过编译后生成`.class`文件,这些类文件可以被Java虚拟机执行。然而,...

    java多进程并发 读文件 测试代码

    java多进程并发 读文件 测试代码,适合初学并发控制 的同学

    java实现文件的读写操作

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。无论是处理用户数据、配置文件,还是进行数据持久化,都需要用到文件的读写功能。本篇将详细介绍如何在Java中实现文件的读写操作,并通过一个小例子...

    .class文件反编译工具。 .class文件转java文件

    本文将围绕".class文件反编译工具"这一主题,详细讲解如何将`.class`文件转换为可读的`.java`源文件,并重点介绍解压后的jd-gui-windows-1.4.0工具的使用方法。 首先,了解`.class`文件结构至关重要。每个`.class`...

    java读取文件方法大全

    根据给定的文件信息,我们可以总结出一系列关于Java中读取文件的方法,这些方法涵盖了不同层次的数据读取,包括字节、字符以及行级别的读取。以下是对这些知识点的详细阐述: ### Java读取文件方法大全:读取File流...

    JAVA处理文件、压缩、解压文件、写文件、读文件,所有文件操作一应俱全

    JAVA处理文件、压缩、解压文件、写文件、读文件,所有文件操作一应俱全

    java pcm数据文件

    java pcm数据文件

    Java读取json文件,并转化为map取值

    本教程将深入讲解如何使用Java读取JSON文件,并将其内容转化为Map以便进行取值操作。 首先,我们需要引入处理JSON的库。Java标准库并不直接支持JSON操作,所以我们通常会使用第三方库,如`org.json`或`...

    java Properties文件key,value读取

    Java Properties文件是Java编程语言中用于存储配置信息的文本文件,通常以.key=value的形式存储键值对。这种文件格式在Java应用中广泛用于保存应用程序的配置参数、国际化字符串或者数据库连接信息等。读取...

    java读TXT文件

    java读TXT文件,设置好路径和修改一下文件名就可以了

    java 利用webservice传输文件

    在这种情况下,Java开发者可以创建一个Web服务,该服务可以接收文件数据并进行传输。 Java调用Windows COM组件是一个相对复杂的过程,因为Java本身并不直接支持COM(Component Object Model)。这就是JACOB(Java ...

    java读excel文件

    在Java编程环境中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。这里我们将探讨如何使用Java实现这一功能,重点是介绍压缩包中的`jxl.jar`库,这是一个用于读写Excel文件的第三方库。 首先,...

    将class文件转换成java文件

    这些工具能够解析.class文件,并尽可能地将其转换回可读的.java源代码。例如,JD-GUI是一个直观的图形界面工具,可以直接打开.class文件并显示反编译出的源代码。 在反编译过程中,我们需要注意以下几点: 1. 反...

    Java写文件读文件写图片到数据库读图片出数据库

    这篇博客“Java写文件读文件写图片到数据库读图片出数据库”主要探讨了如何利用Java来处理文件与数据库之间的交互,尤其是涉及图片这种二进制数据的存储和检索。下面将详细解释这个过程。 首先,Java提供了多种API...

    微信DAT文件转图片工具

    然而,通过特定的工具,如描述中提到的“微信DAT文件转图片工具”,我们可以将这些DAT文件转换成可查看的图像文件。 这个工具是由JAVA编程语言开发的,JAVA是一种广泛使用的跨平台编程语言,具有丰富的库和强大的...

Global site tag (gtag.js) - Google Analytics