内容:文件读取方法,读取方法例子,read(buf)方法中buf的取值,字节流缓冲区对象—提高读取速度///

文件读取方法:fis.read(),fis.read(buf),具体看例子

例子:文件读取——读取文件,显示出来

public class FileInputStreamDemo
{
public static void main(String[] args)
{
//为了确保文件一定在读之前一定存在。将字符串路径封装成File对象
File file = new File("F:"+File.separator+"eclipse_javaCode"+File.separator+"day22"
+File.separator+"src"+File.separator+"demo"+File.separator+"GetMoney.java");
if(!file.exists()){
throw new RuntimeException("文件不存在!");
} //创建文件字节读取流对象
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
//第一种读取方法,单个读取
// int ch = 0;
// while(ch!=-1){
// ch = fis.read();
// System.out.println(ch); //读取文件第一种方法,成功返回acsii码,失败返回-1
// }
//第二个读取方法,批量读取
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf)) != -1){
System.out.println(new String(buf,0,len));
}
} catch (IOException e) {
}
}
}

#################################################################
一般不直接创建相应大小的字节缓冲区
缓冲区大小一般是字节的倍数,1024的倍数

public static void main(String[] args) throws IOException
{
File file = new File("F:\\eclipse_javaCode\\day21\\src\\day21\\shangxin.txt");
System.out.println(file.length()); //获取文件字节数
FileInputStream fis = new FileInputStream(file);
System.out.println(fis.available()); //获取与之关联文件的字节数 byte[] buf = new byte[fis.available()]; //一般不会一下子创建相应大小的缓冲区,比如是高清电影就麻烦了。
//一般创建是1024的倍数
fis.read(buf);
String s = new String(buf);
System.out.println(s); fis.close();
}

字节流-复制文本

public static void main(String[] args) throws IOException
{
FileOutputStream fos = new FileOutputStream("xxx_copy.txt");
FileInputStream fis = new FileInputStream("FileInputStreamDemo.java"); byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf))!= -1){
fos.write(buf,0,len);
fos.flush();
} fis.close();
fos.close();
}

字节流的缓冲区对象
#####字节流复制文本—使用缓冲区对象,提高效率

private static void copyByBuffer() throws IOException
{
FileInputStream fis = new FileInputStream("aaaa.txt");
BufferedInputStream bufis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("aaaa_copy.txt");
BufferedOutputStream bufos = new BufferedOutputStream(fos); byte[] buf = new byte[1024]; int by = 0;
while((by = bufis.read(buf))!=-1){
bufos.write(buf,0,by);
bufos.flush();
} fos.close();
fis.close(); }

021.3 IO流——字节流-FileInputStream读取字节的更多相关文章

  1. Java中的IO流之输出流|乐字节

    大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流.   一.输出流 1.抽象类:OutputStream 和 Writer Output ...

  2. 021.4 IO流——字节、字符桥梁(编码解码)

    默认使用的就是gbk编码,这里的例子改成了utf8编码 写入—编码 private static void writeText() throws IOException { FileOutputStr ...

  3. JAVA之IO流(字节流)

    输入和输出 JAVA的流分为输入流和输出流两部分, 输入流:InputStream或者Reader:从文件中读到程序中: 输出流:OutputStream或者Writer:从程序中输出到文件中: Re ...

  4. IO流(字节流,字符流,缓冲流)

    一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流   这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:   二:字符字节 ...

  5. Java之IO流(字节流,字符流)

    IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...

  6. Java IO流-字节流

    2017-11-05 17:48:17 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...

  7. Java—IO流 字节流

    IO流(输入流.输出流),又分为字节流.字符流. 流是磁盘或其它外围设备中存储的数据的源点或终点. 输入流:程序从输入流读取数据源.数据源包括外界(键盘.文件.网络…),即是将数据源读入到程序的通信通 ...

  8. java IO流——字节流

    字节流主要操作byte类型数据,以byte数组为准,主要操作类有InputStream(字节输入流).OutputSteam(字节输出流)由于IputStream和OutputStream都是抽象类, ...

  9. Java中的IO流之输入流|乐字节

    亲爱的乐字节的小伙伴们,小乐又来分享Java技术文章了.上一篇写到了IO流,这篇文章着重 谈谈输入流,再下次再说输出流. 点击回顾上一篇:乐字节Java之file.IO流基础知识和操作步骤 一. 输入 ...

随机推荐

  1. HighChart 体验之旅 (后台传递JSON参数和数据的方法)

    转自:http://www.cnblogs.com/daviddai/archive/2013/04/12/Highchart.html 官网:http://www.highcharts.com/ 中 ...

  2. [javaSE] 网络编程(URL)

    获取URL对象,new出来,构造参数:String的路径 调用URL对象的getProtocal()方法,获取协议 调用URL对象的getHost()方法,获取主机 调用URL对象的getPath() ...

  3. 【原】Spring和Dubbo基于XML配置整合过程

    背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个 ...

  4. 阿里云CentOS7 64位安装jdk8和mysql5.6.43及远程连接mysql

    安装mysql 先查看系统是否安装有mysql rpm -qa | grep mysql 返回空值说明没有,有的话先删除 yum remove mysql 下载mysql的repo源 wget htt ...

  5. SpringBoot 初体验

    1.Spring Boot 简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 2.微服务 2014, martin fowler 微服务:架构 ...

  6. C++ STL:lower_bound与upper_bound实现

    lower_bound lower_bound(begin, end, target)用来查找一个已排序的序列中[begin, end)第一个大于等于target的元素index.数组A如下: val ...

  7. JQuery图片加载显示loading和加载失败默认图片

    在很多时候我们需要用到图片加载功能,在网上搜资料后就想为了以后使用方便重新整理了下,结果如图: 最后一张是加载失败显示的图片,没找到合适的图片,先用他顶替. 页面引用 <div class=&q ...

  8. springcloud 集成kafka问题记录,发消息报错:ERROR o.s.kafka.support.LoggingProducerListener - Exception thrown when sending a message with key='null' and payload='{-1,

    在springcloud集成kafka,发送消息时报错: 2018-08-15 16:01:34.159 [http-nio-8081-exec-1] INFO  org.apache.kafka.c ...

  9. sql: MySQL and Microsoft SQL Server Stored Procedures IN, OUT using csharp code

    MySQL存储过程: #插入一条返回值涂聚文注 DELIMITER $$ DROP PROCEDURE IF EXISTS `geovindu`.`proc_Insert_BookKindOut` $ ...

  10. CSS实现太极图(1个div实现)

    使用一个div实现太极图的步骤如下: HTML部分: <body> <div class="box-taiji"> </div> </bo ...