在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){}

}

}

}

java文件流读取_java 文件及流读取相关推荐

  1. java 文件io 实验_java I/O流实验小结

    最近老师给我们留了一个JAVA小实验,让键盘输入一些字符,然后写到一个自己建的文件里面,并且在显示器上显示文件里面的数据,要求在一个类里面实现. 在做实验的过程中有一些思想我觉得很有用,为了避免以后碰 ...

  2. java io 缓存读取_Java 文件IO写入读取四种方法

    第一种:字节流 FileInputStream  FileOutputStream 1.1 读取操作 //先创建一个和硬盘连接的流(打通硬盘和内存的通道) FileInputStream fis = ...

  3. java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法

    在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...

  4. java中printreader类_Java基本字符流输入输出类的使用

    1. 基本字符输入输出类结构 Java基本字符流类结构 2. 抽象父类:Writer & Reader Writer类 public abstract class Writer extends ...

  5. java io流区别_Java中IO流的分类和BIO,NIO,AIO的区别

    到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...

  6. java 分块上传_Java 文件分块上传客户端和服务器端源代码

    本博客介绍如何进行文件的分块上传.本文侧重介绍客户端,服务器端请参考博客<Java 文件分块上传服务器端源代码>.建议读者朋友在阅读本文代码前先了解一下 MIME 协议. 所谓分块上传并非 ...

  7. java 处理换行符_Java 文件换行符识别与转换

    项目经验,如需转载,请注明作者:Yuloran (t.cn/EGU6c76) 背景 项目开发需要手动合入几十种语言的翻译到 string.xml 中,这是一件非常痛苦的事情:Copy.Paste,Co ...

  8. java文件上传_Java文件上传细讲

    什么是文件上传? 文件上传就是把用户的信息保存起来. 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片.那么这张照片就应该要进行保存. 上传组件(工具) 为什么我们要使用上传工具? 为啥我 ...

  9. java i o中文版_Java文件I/O的三种方法

    摘要:之前在面试中被问到过两次Java中文件读入输出怎么写,当时只记得一个大概,没有办法很清晰的说出一个条理,今天特地看出总结了一下这方面的内容,想要写出来给大家分享.首先文件读入输出流常用有三种:F ...

最新文章

  1. 使用 TFDConnection 的 pooled 连接池
  2. csharp DataTable and DataGridView delete a Row
  3. python小波变换尺度函数_Python图像处理(17):pyWavelet
  4. 使用jQuery的hover事件在IE中不停闪动的解决方法
  5. ios键盘弹回时顶上去得页面不会回来
  6. Sql Server2008中自定义函数调用存储过程解决方案
  7. c语言源程序最多可能由组成,一个c语言源程序是由什么组成_后端开发
  8. java材质转基岩版_我的世界java版材质包转换导入基岩版教程
  9. (result, consumed) = self._buffer_decode(data, self.errors, final)报错
  10. 淘宝直播火爆的背后,阿里做了什么?
  11. 阿里数据分析师笔试记录
  12. 后缀自动机(模板+例题)
  13. Python安装wheel文件
  14. python中调用linux命令报错cat: -: Bad file descriptor
  15. 服务器设备管理系统,用勤哲Excel服务器实现设备管理系统
  16. oracle ins ctx.mk,(原创)RHEL/CentOS 6.x 64位安装Oracle11gR2 64位出现ins_ctx.mk报错解决...
  17. frame-relay 学习笔记
  18. java.sql.SQLException: Access denied for user 'app '@'xxx.xxx.xxx.xxx' (using password: YES)
  19. cips2016+学习笔记︱NLP中的消岐方法总结(词典、有监督、半监督)
  20. java Object类型的参数

热门文章

  1. 解决使用FireFox下Flash上传文件时SESSION丢失的问题(swfupload)
  2. Go语言实践[回顾]教程03--Go语言的编译与运行的命令行
  3. 百度央视春晚秀自动驾驶技术,无人车队驶上港珠澳大桥
  4. 约瑟环c语言,数据结构C语言 约瑟环问题 谢谢大家 一定要AC呀
  5. 烈焰vip挂机地图挂机攻略
  6. mkdir创建目录问题
  7. 《英雄联盟》职业联赛第七周最后的抢分之战
  8. windows10安装ubantu双系统
  9. European Heart Journal :血管危险因素与脑MRI指标的相关性
  10. 解决代理服务器拒绝连接问题,浏览器连不上网怎么办???