Java的几种读文件方式

来源:互联网 发布:美国gpa算法 编辑:程序博客网 时间:2024/06/15 20:05

Java的几种读文件方式,一种为按单字节读取,即每次仅读取一个字节,此方式适合图像文件,声音文件,视频文件等二进制文件操作;第二种方式为按多字节读取,自定义一次读的字节数量;第三种方式为按字符读操作,即每次读一个字符,此方式适合文本文件,数据文件的读操作;第四种方式为按行读操作,即一次读取一行数据

package com.anson.java;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.Reader;import java.net.Socket;public class FileOpr{//按字节形式读取文件数据,用于二进制文件读写,图片,声音,视频等文件形式//每次读入一个字节public void readFileByByte(String fileName){File file=new File(fileName);//实例化一个文件对象InputStream is=null;try {is=new FileInputStream(file);//实例化一个文件输入流int dataByte;//定义一个暂时存储数据的int类型的对象while((dataByte=is.read())!=-1)//读取,判断是否到文件结尾{System.out.println(dataByte);//输出}} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}finally{try{is.close();//关闭流} catch (IOException e){e.printStackTrace();}}}//每次读取多个字节,每次读取4个字节public void multiReadByBytes(String fileName){File file=new File(fileName);//实例化一个文件对象InputStream is=null;try{is=new FileInputStream(file);//实例化一个文件输入流byte[] bytes=new byte[4];//定义一个字节数组,暂时存放读取的数据int len;//数据长度判断标志while((len=is.read(bytes))!=-1){System.out.write(bytes, 0, len);//输出控制台}}catch(Exception e){e.printStackTrace();}finally{try {is.close();//关闭文件输入流} catch (IOException e){e.printStackTrace();}}}//按字符类型读取完文件信息,每次读取一个字符,适合文本,数字类文件public void readFileByChar(String fileName){File file=new File(fileName);//实例化一个文件对象Reader reader=null;try {InputStream inputStream=new FileInputStream(file);//实例化一个文件输入流,reader=new InputStreamReader(inputStream);//实例化一个数据读入流int tmpData;while((tmpData=reader.read())!=-1){if((char)tmpData!='\r')//判断换行{System.out.print((char)tmpData);//输出}}} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}finally{try{reader.close();//关闭流} catch (IOException e){e.printStackTrace();}}}//按行读取文件public void readFileByLine(String fileName){File file=new File(fileName);//实例化一个文件对象BufferedReader bf=null;try {bf=new BufferedReader(new FileReader(file));//实例化对象String str=null;while((str=bf.readLine())!=null){System.out.println(str);//输出}} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}finally{try{bf.close();//关闭流} catch (IOException e){e.printStackTrace();}}}}


0 0
原创粉丝点击