FileInputStreamj基本用法和方法示例

import java.io.*;

public class FileInputStreamTest01
{
public static void main(String[] args){
FileInputStream fis = null;
try{
//temp01的内容是:abcdefg
String filePath = "temp01"; //相对路径
//String filePath = "I:\\java-study\\io\\temp01"; //绝对路径
//String filePath = "I:/java-study/io/temp01";
fis = new FileInputStream(filePath); //******************read()读取存在缺点:频繁访问磁盘,伤害磁盘,效率低。
//开始读,读到末尾返回-1
/*int i1 = fis.read(); //以字节的方式读取
System.out.println(i1);
*/ //循环读取
/*while(true){
int temp = fis.read();
if(temp == -1) break;
System.out.println(temp);
}*/ //升级循环读取
/*
int temp = 0;
while((temp =fis.read()) != -1){
System.out.println(temp);
}
*/ //******************read(byte[] bytes)
//读取之前在内存中准备一个byte数组,每次读取多个字节存储到byte数组中,不是单字节读取了
//byte数组相当于内存中的缓存,效率高 //准备一个字节数组
/*byte[] bytes = new byte[3]; //每次最多读取3个字节
int i1 = fis.read(bytes); //返回值代表的是读取了多少个字节。
//将数组转换成字符串
System.out.println(new String(bytes));
//将数组的有效部分转换成字符串
//System.out.println(new String(bytes,0,i1));
*/ //循环读取
/*byte[] bytes = new byte[1024]; //每次读取1KB
while(true){
int temp = fis.read(bytes);
if(temp == -1) break;
System.out.print(new String(bytes,0,temp));
}
*/ //升级循环读取
/*int temp =0;
byte[] bytes = new byte[1024];
while((temp = fis.read(bytes)) != -1){
System.out.print(new String(bytes,0,temp));
}
*/ //available()
System.out.println(fis.available()); //返回流中估计剩余字节数 //skip(),跳过并丢弃 n 个字节的数据
fis.skip(2);
System.out.println(fis.read()); }catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e1){
e1.printStackTrace();
}finally{
//流释放
if(fis != null){
try{
fis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}

IO流入门-第一章-FileInputStream的更多相关文章

  1. IO流入门-第九章-BufferedReader_BufferedWriter复制

    利用BufferedReader和BufferedWriter进行复制粘贴 import java.io.*; public class BufferedReader_BufferedWriterCo ...

  2. IO流入门-第二章-FileOutputStream

    FileOutputStreamj基本用法和方法示例 /* java.io.OutputStream java.io.FileOutputStream 文件字节输出流 将计算机内存中的数据写入到硬盘文 ...

  3. IO流入门-第十二章-ObjectInputStream_ObjectOutputStream

    DataInputStream和DataOutputStream基本用法和方法示例,序列化和反序列化 import java.io.Serializable; //该接口是一个“可序列化”的 ,没有任 ...

  4. IO流入门-第七章-BufferedReader

    BufferedReader基本用法和方法示例 /* 字节 BufferedInputStream BufferedOutputStream 字符 BufferedReader:带有缓冲区的字符输入流 ...

  5. IO流入门-第三章-FileInputStream_FileOutputStream复制

    利用FileInputStream和FileOutputStreamj进行复制粘贴 /* 文件复制粘贴 */ import java.io.*; public class FileInput_Outp ...

  6. IO流入门-第十三章-File相关

    /* java.io.File 1.File和流无关,不能通过该类完成文件的读写 2.File是文件和目录路径名的抽象变现形式. */ import java.io.*; public class F ...

  7. IO流入门-第十一章-PrintStream_PrintWriter

    DataInputStream和DataOutputStream基本用法和方法示例 /* java.io.PrintStream:标准的输出流,默认打印到控制台,以字节方式 java.io.Print ...

  8. IO流入门-第六章-FileReader_FileWriter复制

    利用FileReader和FileWriter进行复制粘贴 /* 文件复制粘贴 只能复制纯文本文件 2017/4/13 */ import java.io.*; public class FileRe ...

  9. IO流入门-第五章-FileWriter

    FileWriter基本用法和方法示例 /* java.io.Writer java.io.OutputStreamWriter 转换流(字节输出流--->字符输出流) java.io.File ...

随机推荐

  1. zookeeper(六):Zookeeper客户端Curator的API使用详解

    简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsEx ...

  2. Resources.FindObjectsOfTypeAll<T>()的坑(Ghost prefab)

    今天遇到了一个Bug,因为调用Resources.FindObjectsOfTypeAll<T>()遍历整个场景,结果遍历出的对象不对.比较哈希一查果然是两个.原来prefab本身和pre ...

  3. git commit 、CHANGELOG 和版本发布的标准自动化

    一直以来,因为团队项目迭代节奏很快,每次发布的更新日志和版本更新都是通过人肉来完成的.有时候实在忙的团团转,对于手动的写这些更新信息就显得力不从心了.对于团队新来的小伙伴,有时候遇到些紧急情况,就更显 ...

  4. UVA812-Trade on Verweggistan(暴力)

    题目链接 题意:商人要去买pruls这样的东西.然后它的价值是一个序列,买的时候要严格从头到尾取,比方你要买第5个,那么前4个也要一起买下来,求商人能获得的最大的利润. 思路:最大利润肯定就是每一个序 ...

  5. CSS Sprites的概念、原理、适用范围和优缺点

    CSS Sprites概念 CSSSprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就 ...

  6. JVM源码分析之Metaspace解密

        概述 metaspace,顾名思义,元数据空间,专门用来存元数据的,它是jdk8里特有的数据结构用来替代perm,这块空间很有自己的特点,前段时间公司这块的问题太多了,主要是因为升级了中间件所 ...

  7. PHP输出javascript,alert中文乱码解决办法

    echo '<html><head><meta http-equiv="Content-Type" content="text/html; ...

  8. 支付宝API接口开发相关文档以及实例

    支付宝实物即时到账接口,在下载该接口之前,请确定你已经签约了即时到账的服务协议,并且账号已经开通了即时到账的权限. 口常见错误问题搜集:http://union.alipay.com/alipay/z ...

  9. number(4,2)

     number(4,2)  ##.## 例如:45.23 number(6,2)就是####.##   例如:9994.11   4代表总共有效位数为4位2代表小数位为2位

  10. 什么是AOP和OOP,IOC和DI有什么不同?

    什么是AOP和OOP,IOC和DI有什么不同? 解答: 1)面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.AOP是OOP的延续, ...