内容:文件读取方法,读取方法例子,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. 使用jquery获取url及url参数的方法(转)

    转自:http://www.cnblogs.com/babycool/p/3169058.html 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery ...

  2. 解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function

    Vue的项目中,如果项目简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 进行传递 但是如果是大中型项目中,很多时候都需要在不相关的平行组件之间传递数据,并且很多数据需要 ...

  3. Python——第一个python程序helloworld

    安装了Python的环境之后,就是编写Python的代码了. 首先,我们来写一个简单的“hello world” 新建一个空白的txt文本,将后缀改为.py 改了后缀之后即变为Python程序的图标 ...

  4. guava快速入门(一)

    Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] .缓存 [caching] .原生类型支持 [primitives support] ...

  5. js post跳转

    function clickFunc(id) { var params = new Array(); params.push({ name: "id", value: id}); ...

  6. 如鹏网学习笔记(八)CSS

    CSS 一.CSS简介 1,CSS (Cascading Style Sheets) 级联样式表 ,是一种计算机语言,用来控制HTML内容的显示效果 2,CSS预先定义了众多的和显示效果有关的样式属性 ...

  7. 你所需要的sql数据库资料

     sql语法的特点  1.没有"",所有的字符串都使用''包含  2.它的逻辑相等与赋值运算符一样都是= 如 if 1=1  3.不区别大小写,但是习惯函数上使用大写.所有与数据库 ...

  8. [javaSE] 异常捕获

    异常:程序在运行时出现的不正常现象 Throwable |——Error |——Exception 严重级别:Error类和Exception类 异常的处理:try{}catch{}finally{} ...

  9. 笔记本(华硕UL80VT)软件超频setFSB

    Warning !!!If you are a beginner, do not use this software. This software is for power users only. U ...

  10. 使用Tensorflow和MNIST识别自己手写的数字

    #!/usr/bin/env python3 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data ...