package net.csdn.InputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

/**

* Created by rabbit先生 on 2017/3/11 0011.

*/

public class FileInputStreamDemo {

/**

* 前面已经说过了File类,其主要作用就是对文件进行操作,

* 例如读取文件,确定文件的名字,修改时间等问题,但都是基于文件级别的操作

*

* 今天,我们来将对文件内容的读取操作,在java中对文件进行操作使用的是IO流

* IO流:就是指InputStream(输入流)和OutputStream(输出流)

* 特别说明:

* 输入流就是把文件中的东西进行输入到内存中,

* 输出流就是把内存中的东西输出到文件中,

* 我们可以使用内存来做分别,输入到内存就是输入流,从内存中输出就是输出流

*

* 我们使用最基础的类:FileInputStream

* 使用文件路径:F:\fileInputStream\a.txt

* a.txt文件中的内容是:abcdefghijklmn

* 最后:流就像是水龙头一样,有开有关,所以使用交流之后记得对流进行关闭操作,

* 不然会浪费内存,导致你的电脑开发的时候越来越卡

*/

//创建FileInputStream对象,使用FileInputStream(File file)

//创建这个对象的时候需要传递一个File类,所以我们先创建File类,使用File(String pathname)

//我们传递一个本地文件的绝对路径就可以了

public static void main(String[] args) throws Exception {

//创建File类对象

File file = new File("F:\\fileInputStream\\a.txt");

//创建FileInputStream对象,并关联对应的文件,创建对象的时候会出现异常

FileInputStream fis = new FileInputStream(file);

//我们现在可以通过FileInputStream对象对文件的内容进行读取了

/*************第一种方式开始代码{一次读取一个}****************/

//使用的时候请关闭方式二的代码

//int len;

//循环一个一个读取{当读取不到的时候会返回-1所以可以使用这个做循环的条件}

//可能有人觉得奇怪,我文件里面的内容是字母,为什么可以使用int类型接收呢?

//答案:读取的时候获取到的是ASCII碼{可以System.out.println(len);不转换输出试一下},

// 所以我们需要转换

//while ((len = fis.read()) != -1) {

//System.out.println((char)len);

//}

//fis.close();//关闭流

/*************第一种方式结束代码****************/

/*************第二种方式开始代码{一次读取多个放到字节数组中}****************/

//这种方式效率更加高,因为不用频繁的操作硬盘,一次就读了1M

//byte[] bytes = new byte[1024];//为了读取方便,一次读取1M,

//将读取到的数据保存到bytes这个字节数组中

int length;

byte[] bytes = new byte[1024];

while ((length = fis.read(bytes)) != -1) {

System.out.print(new String(bytes, 0, length));//将数据变为字符串输出

}

fis.close();//关闭流

//int read = fis.read(bytes);//返回读取到的长度{也是字节数组中的长度}

/*************第二种方式结束代码****************/

}

}

java 读取1m文件_java的FileInputStream类读取文件相关推荐

  1. java io流读取txt文件_Java使用IO流读取TXT文件

    通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputS ...

  2. java文件流写入文件_JAVA IO流编程 实现文件的写入、写出以及拷贝

    一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...

  3. java缓冲流 复制文件_java使用缓冲流复制文件的方法

    本文实例为大家分享了java使用缓冲流复制文件的具体代码,供大家参考,具体内容如下 [1] 程序设计 /*------------------------------- 1.缓冲流是一种处理流,用来加 ...

  4. java 双声道音频_java实现切割wav音频文件的方法详解【附外部jar包下载】

    本文实例讲述了java实现切割wav音频文件的方法.分享给大家供大家参考,具体如下: import it.sauronsoftware.jave.Encoder; import it.sauronso ...

  5. java+txt+词语+次数_Java练习2--读取txt文件统计考勤次数并写入一个txt文件中

    Java练习2--读取txt文件统计考勤次数并写入一个txt文件中 Java练习2--读取txt文件统计考勤次数并写入一个txt文件中 面向对象的小练习: 文件attendance.txt中的数据为本 ...

  6. java sftp 上传文件_java使用SFTP上传文件到资源服务器

    本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...

  7. java swing 打开文件_java swing实现打开Excel文件并进行处理

    这里选择Excel文件是业务需要,话不多说 1.引入对Excel处理的相关依赖 org.apache.poi poi 3.16 org.apache.poi poi-ooxml 3.16 2.进行sw ...

  8. java追加字符串到文件_java 将字符串追加到文件已有内容后面的操作

    我就废话不多说了,大家还是直接看代码吧~ /** * 将字符串追加到文件已有内容后面 * * @param fileFullPath 文件完整地址:D:/test.txt * @param conte ...

  9. java编译生成哪些文件_java编译后生成什么文件?生成的文件包括什么?

    在大家编译完java程序的时候,都是会生成一个文件的,作为java新手不清楚java编译后生成什么文件?那么今天我们就给大家讲解一下这方面的内容,大家可以参考下文哦! java文件编译过后会生成一个c ...

最新文章

  1. 蜜蜂实训平台c语言考试答案,北理c语言上机答案(全)
  2. 英佩臻游联手发力《全球使命VR》突显未来野心
  3. chmod 是一条在Unix系统中用于控制用户对文件的权限的命令
  4. gentoo doc web site
  5. 大型网站技术架构03
  6. CSS之calc()使用
  7. Event Recommendation Engine Challenge分步解析第五步
  8. java mysql tree_java面試題:你了解mysql的B+TREE索引嗎?
  9. 在Winform中屏蔽UnityWebPlayer的右键以及自带Logo解决方案整理
  10. 修改R语言安装包的默认路径 r包安装位置
  11. python用lda主题_python下进行lda主题挖掘(二)——利用gensim训练LDA模型
  12. 解决报错Duplicate keys detected
  13. Java后端防止频繁请求、重复提交
  14. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day13-面向对象进阶01
  15. 洛谷日报索引(2020、2019、2018)
  16. 数据库重构工具 LiquiBase(5 Liquibase被锁)
  17. 契约锁助力青岛市市立医院:报销、核酸检测及经济类合同电子签
  18. Mac和Ubuntu系统下.bash_profile和.bashrc文件
  19. 嵌入式:ARM嵌入式系统开发流程概述
  20. stm32miniRTC实时时钟——HAL库

热门文章

  1. 在SharePoint网站中访问Webservice被拒绝的解决方法
  2. 苹果公司计划在俄勒冈州建设其第三个数据中心
  3. 技术人员兼职招聘平台HourlyHerd融资2200万美元C轮融资
  4. Windows完全卸载oracle11g步骤
  5. 一文讲透,关于搭建指标体系,整理的重要知识点都在这里了
  6. 跟周报焦虑说拜拜!Excel打通FineBI,到底有多香
  7. 如何给领导打造一款掌上财务管理驾驶舱?
  8. 程序猿误区:程序员只负责编码
  9. 今天的但我发现了幸福的超级玛丽,白萝卜的种子
  10. 纽约时报》:乔布斯和苹果的“保密文化”