day20 java 语言中的读取写入数据(一)

2017-11-15 11:38:31来源:http://dzx123.blog.51cto.com/13270347/1980870作者:人点击

分享

day20 java 语言中的读取写入数据(一)

一、io概述

io数据流的读写功能,在实际的生活中也很常见,比如文件的上传、下载,日志的自动更新等都与io读写密切相关。io又被分为了读取数据和写入数据两个大的功能。下面就来看看读取数据的几种类。

二、读取数据的几种方式

读取数据被分为了字节流读取数据,和字符流读取数据两种。

(一):字符输入流:

1、fileReader类。是字符流读取数据

2、BufferedReader类。带有缓冲流读取数据

(二):字节输入流:

1、FileInputStream类。是字节流读取数据

2、BufferedInputStream。是带有缓冲流读取数据

三、具体实例

(一)字符流读数据

//io数据流输入读取【FileReader】
packagewww.com.c1;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.IOException;

publicclassIo02{
publicstaticvoidmain(String[]args){
try{
//1、创建使用字符流实例
FileReaderfileReader=newFileReader("D://zs.txt");
//2、定义变量接收读取到的
inttemp=0;
//3、定义字符来转换。
charc;
//4、循环打印
while((temp=fileReader.read())!=-1){
c=(char)temp;
System.out.print(c);
}
//5、关闭数据流
fileReader.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}//io数据流输入读取【BufferedReader】
packagewww.com.c1;
importjava.io.BufferedReader;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.IOException;

publicclassIo04{

publicstaticvoidmain(String[]args){
try{
//1、创建实例,
BufferedReaderbuf=
newBufferedReader(newFileReader("D://zs.txt"));
//2、定义字符串来接收
Stringtemp;

//3、使用readline来读取数据,注意他是读取的一行字符串
while((temp=buf.readLine())!=null){
System.out.println(temp);
}//4、关闭数据流
buf.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

(二)字节流读数据

packagewww.com.c1;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;

//io数据流输入读取【FileInputStream】

//1、FileInputStream:字节流读取文件:一般读取一些图片、视频等等。
//字符流读取文件:一般都是一些文字。

publicclassIo01{
publicstaticvoidmain(String[]args){
//使用第一种方式【字节流】读取文件。
try{
//1步:创建输入字节流实例,注意后面的文件存放的位置路径
FileInputStreaminputStream01=newFileInputStream("D://zs.txt");

//2步、定义变量来接受每一次读取到的数据
inttmp;

//4、定义变量来转换打印读到的是什么。
charok;

//3、使用while循环来读取文件的内容:核心步骤
while((tmp=inputStream01.read())!=-1){
ok=(char)tmp;//使用强制类型转换
System.out.print(ok);
}
//5、关闭数据流
inputStream01.close();

}catch(FileNotFoundExceptione){
System.out.println("文件不存在!请在改路径下建立该文件!");
}catch(IOExceptione){
e.printStackTrace();
}

//使用第二种方式读取文件。【使用字节流读取中文】

try{
//1、创建读取文件的实例
FileInputStreaminputStream=newFileInputStream(newFile("D://zs.txt"));

//2、定义数组来控制每次读取到的数据量【类似于缓存】
byte[]b=newbyte[1024];

//3、定义变量来接收读取到的数据
inta;
//4、使用read[byte]方法读取数据
while((a=inputStream.read(b))!=-1){

//5、创建字符串来接收处理读取到的数据,
Strings=newString(b,0,a);
//注意各个参数,参数一:代表每次读取的最大数据量
//参数二:代表读取数据的偏移量,就是从哪个字节开始读取剩下的数据
//参数三:读取字节的数据。
//6、输出
System.out.println(s);
}

//7、关闭数据流
inputStream.close();

}catch(FileNotFoundExceptione){
System.out.println("文件不存在");
}catch(IOExceptione){
e.printStackTrace();
}
}
}//io数据流输入读取【BufferedInputStream】
packagewww.com.c1;
importjava.io.BufferedInputStream;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
publicclassIo03{
publicstaticvoidmain(String[]args){
try{
//1、创建BufferedInputStream实例,只能传一个输入流,所以在创建的时候都会创建输入流的父类或者子类。
BufferedInputStreambis=
newBufferedInputStream(newFileInputStream("D://zs.txt"));

//2、定义变量接收读取到的
inttemp=0;
//3、定义字符来转换。
charc;
//4、循环打印
while((temp=bis.read())!=-1){
c=(char)temp;
System.out.print(c);
}

//5、关闭数据流
bis.close();

}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

四、结束语

都这儿关于使用IO流读取文件的常用4个方法就说完了。注意一下在这4个实例中的应用。


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台