在Java语言的IO编程中,读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流内部的数据。其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用输入流对象中的read方法即可实现了。

使用输入流进行编程时,代码一般分为3个部分:1、创建流对象,2、读取流对象内部的数据,3、关闭流对象。下面以读取文件的代码示例:

import java.io.*;

/**

* 使用FileInputStream读取文件

*/

public class ReadFile1 {

public static void main(String[] args) {

FileInputStream fis = null;     //声明流对象

try{

fis = new FileInputStream("e:\\a.txt");          //创建流对象

//读取数据,并将读取到的数据存储到数组中

byte[] data = new byte[1024]; //数据存储的数组

int i = 0; //当前下标

//读取流中的第一个字节数据

int n = fis.read();

//依次读取后续的数据

while(n != -1){ //未到达流的末尾

//将有效数据存储到数组中

data[i] = (byte)n;

//下标增加

i++;

//读取下一个字节的数据

n = fis.read();

}

//解析数据

String s = new String(data,0,i);

//输出字符串

System.out.println(s);

}catch(Exception e){

e.printStackTrace();

}finally{

try{

//关闭流,释放资源

fis.close();

}catch(Exception e){}

}

}

}

下面的示例代码是使用另外一个read方法实现读取的代码:

import java.io.FileInputStream;

/**

* 使用FileInputStream读取文件

*/

public class ReadFile2 {

public static void main(String[] args) {

//声明流对象

FileInputStream fis = null;

try{

//创建流对象

fis = new FileInputStream("e:\\a.txt");

//读取数据,并将读取到的数据存储到数组中

byte[] data = new byte[1024]; //数据存储的数组

int i = fis.read(data);

//解析数据

String s = new String(data,0,i);

//输出字符串

System.out.println(s);

}catch(Exception e){

e.printStackTrace();

}finally{

try{

//关闭流,释放资源

fis.close();

}catch(Exception e){}

}

}

}

使用输出流进行编程的步骤是:

1、建立输出流

建立对应的输出流对象,也就是完成由流对象到外部数据源之间的转换。

2、向流中写入数据

将需要输出的数据,调用对应的write方法写入到流对象中。

3、关闭输出流

在写入完毕以后,调用流对象的close方法关闭输出流,释放资源。

下面以FileOutputStream为例子说明输出流的使用。示例代码如下:

import java.io.*;

/**

* 使用FileOutputStream写文件示例

*/

public class WriteFile1 {

public static void main(String[] args) {

String s = "Java语言";

int n = 100;

//声明流对象

FileOutputStream fos = null;

try{

//创建流对象

fos = new FileOutputStream("e:\\out.txt");

//转换为byte数组

byte[] b1 = s.getBytes();

//换行符

byte[] b2 = "\r\n".getBytes();

byte[] b3 = String.valueOf(n).getBytes();

//依次写入文件

fos.write(b1);

fos.write(b2);

fos.write(b3);

} catch (Exception e) {

e.printStackTrace();

}finally{

try{

fos.close();

}catch(Exception e){}

}

}

}

转载于:https://www.cnblogs.com/xuepei/p/3973229.html

java 文件及流读取相关推荐

  1. Java - 文件(IO流)

    Java - 文件 (IO) 流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     & ...

  2. 第十三章 Java 文件与流

    第十三章 Java 文件与流 一.文件类与流的概述 1.1.文件类(File) 1.2.流(stream) 1.3.文件与流 二.文件类(File) 三.流(stream) 3.1.字节流 字节输入流 ...

  3. java文件流读取_java 文件及流读取

    在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...

  4. JAVA——文件IO流

    IO文件流 File类&递归思想 File类    概述和构造方法         介绍             - 它是文件和目录路径名的抽象表示             - 文件和目录是可 ...

  5. java文件与流_Java文件与流

    文件 文件管理通过java.io包下.file类 作用: 1.文件属性 2.文件检查 3.文件删除 4.不包含对其文件内容的处理 File类的构造 语法: File f =new File(Strin ...

  6. java使用字符流读取文件

    中文友好 port java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;publi ...

  7. java利用io流读取文件发生了乱码以及java解析vcf文件

    如果文件中含有中文字符,那么这时候直接进行读取,即new FileInputStream(要读取的文件),就会出现了乱码,所以这时候,我们需要设置对应的格式进行读取,所以还需要传递对应的编码,所以将代 ...

  8. java文件与流_Java文件和流深入

    1.什么是数据流? 数据流是指所有的数据通信通道.有两类流,InputStream and OutputStream,Java中每一种流的基本功能依赖于它们.InputStream用于read,Out ...

  9. 对java文件IO流的基本认识

    题目: 1.在一个名为data.dat的文件中存储一个长度为5的int数组,一个表示当前时间的Date对象,一个double值5.5,编写代码读取和显示这些数据.(数组和对象要序列化) 2.分别以文本 ...

最新文章

  1. Visual Studio 2017软件安装教程
  2. linux 工具 SecureCRT 使用 rz 和 sz 命令
  3. Java 源程序的良好书写规范有哪些_使用Java作为程序语言时,好的命名规范有哪些...
  4. 在VS中手工创建一个最简单的WPF程序
  5. Python实现简单的人脸打卡系统
  6. SIT测试和UAT测试区别
  7. JSON Editor Online
  8. 告别360全家桶,安利一波电脑必备软件
  9. 2020年11月软考网络规划设计师上午真题及答案解析
  10. Docker学习之day01 Docker的前世今生
  11. 真没想到,vmware进入 bios设置 的方法是这样的
  12. vue3:兄弟组件,跨组件传值,事件总线的通信方式(mitt / tiny-emitter)
  13. 【云原生|中间件】我们为什么要使用DCM?
  14. python自然语言分析--倚天屠龙记人物关系、词云、柱状图、-词频
  15. Schedule(贪心,任务调度)
  16. 校招拼多多笔试题(前端工程师)
  17. 如何在xml文件中引入约束【带解析】
  18. Android综合教务管理系统
  19. 数字视频测量应用技术(基础篇)
  20. 消防隐患同比下降约60%,基于物联网大数据的智慧消防水系统远程监测方案

热门文章

  1. pyqt5实现手写中文数字识别
  2. 巴塞尔枷锁与评级霸权制约中国
  3. 第四期东软Java培训—我的Java培训岁月2009
  4. 【Rust】cargo update或者cargo build国内被墙失败解决办法
  5. 决策树分类(cross)
  6. 计算机能不能刻录光盘,笔记本电脑怎么不能刻录
  7. python定时发邮件功能
  8. 嵌入式入门之路坎坷但无比的有趣 心得交流3
  9. Linux第四章:1.Linux关机、重启、休眠、切换用户命令大全
  10. Google TPU的发展历程与思考(二)