您的位置:首页 > 编程语言 > Java开发

java基础学习心得——字节流读取文章的3种方法

2014-05-28 11:39 405 查看
第一种方法:单个字节读取并返回:

public static void readFile()throws IOException
{
FileInputStream fis = new FileInputStream

("fos.txt");
int ch;
while((ch = fis.read())!=-1)
{
System.out.println((char)ch);
}
fis.close();
}
这种方法效率比较低,每读取一个字符要向外输出一个字符,尤其体现在文件复制上。

第二种方法:定义一个缓冲区,当缓冲区满时或读到文件结尾处返回值:

public static void readFile()throws IOException
{
FileInputStream fis = new FileInputStream

("fos.txt");
int len;
byte[] ch = new byte[1024];
while((len=fis.read(ch))!=-1)
{
System.out.print(new String(ch,0,len));
}
fis.close();
}
这种方法设置了缓冲区,提高了读写效率,对大数据文件的复制有较好的效果。对于字节数组ch大小的选取,可视情况而定。

第三种方法:使用available()方法测试r对象的长度,定义一个相同大小的字符数组,一次性传值

public static void readFile()throws IOException
{
FileInputStream fis = new FileInputStream

("fos.txt");
int len = fis.available();
byte[] ch = new byte[len];
fis.read(ch);
System.out.print(new String(ch));
fis.close();
}
这种方法没有使用while循环,读写效率最高,适用于较小的文件读取。但是,当文件较大时,由于内存的限制,这种方法失效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐