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. PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别

    手册上解释: CURLOPT_POSTFIELDS  全部数据使用HTTP协议中的"POST"操作来发送.要发送文件,在文件名前面加上@前缀并使用完整路径.这个参数可以通过urle ...

  2. unity Editor下自启动

    [InitializeOnLoad] 加上这个特性,并且在静态构造函数里写上内容.即可在Unity启动的时候自启动这个Editor脚本

  3. Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access

    Atitit. .Jna技术与 解决 java.lang.Error: Invalid memory access 1. 原因与解决1 2. jNA (这个ms sun 的)1 3. Code1 4. ...

  4. [k8s]k8s api-server启动systemd参数分析

    默认2个参数就可以启动(必需) kube-apiserver \ --service-cluster-ip-range=10.254.0.0/16 \ --etcd-servers=http://19 ...

  5. zooKeeper_《ZooKeeper官方指南》一致性保障

    转 http://ifeve.com/zookeeper-consistency-guarantees/ 本文翻译自<ZooKeeper官方指南>,译者:追云,校对:追云 一致性保障 Zo ...

  6. 从0到1,Java Web网站架构搭建的技术演进

    俗话说得好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的,对于开发人员来说,一个好的架构并不是一蹴而就的. 初始搭建 最开始,就是各种框架一搭,然后扔到 Tomcat 容器中跑,这时 ...

  7. dedecms使用

    使用到了dedecms内容管理系统,遇到两个问题: 1.点击登录后,没有登录进去也没有任何提示,一片空白 解决办法:我是把网站从云主机拷贝下来的,但是忘了云主机上的数据库密码和自己本地的数据库密码不一 ...

  8. 《Netty in action》目录修复版本分享

    最近阅读了Netty in action一书.深感外国友人的书籍编写能力强大.作者由简入深.精简描述了Netty的相关知识,如何使用等等. 本来想翻译一下的.尝试着翻译了一点之后.发现非常痛苦啊.ps ...

  9. linux—jdk 安装步骤

    1.         查看现有版本 java -version 2.         查看jdk的具体版本 rpm –qa| grep jdk rpm –qa| grep gcj 3.         ...

  10. 同学帮帮 h5 刮刮卡组件:Txbb.Scratch

    同学帮帮 h5 刮刮卡组件,简洁.无依赖,支持 globals 和 amd 两种调用方式. 暂时只能用在移动端 使用方法 <div id="J-Scratch">< ...