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. Laravel之路(事务)mysql事务

    其实关于mysql的事务(原声mysql语句),我在我的博客里面有提到(mysql的文章分类下) 今天看下基于laravel框架ORM的处理 准备: 表必须是InnoDB引擎 DB::beginTra ...

  2. atitti.atiNav 手机导航组件的设计

    atitti.atiNav 手机导航组件的设计 1.1. 三大按键导航功能,back,menu ,home1 1.2. header页头组件,为移动页面顶部的导航条设计.1 1.3. 页头主题设计1 ...

  3. TextView中超链接拦截

    TextView中的超链接点击时,其实是通过Intent方式的,因此会调用Activity中的startActivity(Intent intent)方法,所以可在此方法中做些简单的拦截操作 例如拦截 ...

  4. layui中当悬浮在select的option上面是给不同的提示;

    $(document).on('mouseenter', '#paramsFather .layui-form-selected dl dd', function () { var data = $( ...

  5. 个人的Linux实用命令

    Linux下的命令有那么多,我不可能也不想去把每一个都记住,列举一些自己工作中很实用的命令,这些命令或许不是很常用,但是有时候却离不了. 1.网络方面 service iptables start/s ...

  6. Cannot change version of project facet Dynamic Web Module to 3.0 requires Java 1.6 or newer 解决方案

    Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...

  7. 如何用手机访问电脑上的html文件

    如何用手机访问电脑上的html文件 梦唪 | 浏览 3876 次 推荐于2016-03-26 08:08:58   最佳答案   1,你得搭建服务器,用Apache或者IIS.2,把HTML文件放到服 ...

  8. ext树菜单实体类

    package cn.edu.hbcf.common.vo; import java.util.ArrayList; import java.util.List; /** * ext树菜单 * * @ ...

  9. atn 编译java提示资源不足

    今天用ant编译项目出现 [javac] 系统资源不足.的错误,如下 Buildfile: build.xml -compile:    [javac] Compiling 919 source fi ...

  10. 【Mac + Appium + Python3.6学习(四)】之常用的IOS自动化测试API总结

    环境: Appium:1.9.1 Appium-desktop:1.7.1 Xcode:10.0 IOS:iPhone5S(10.3.3) Mac:10.13.6 ①获取手机屏幕size:长.宽 &l ...