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. 如何通过 AAR 形式集成 leakcanary-android 服务

    如何通过 AAR 形式集成 leakcanary-android 服务 如何通过在线引用的方式拿到所有相关的依赖项文件? #1.禁用 Gradle 离线模式 #2.按照文档要求添加项目依赖 #3.Sy ...

  2. Python 集合常用方法总结

    数据类型:int/str/bool/list/dict/tuple/float/set   (set类型天生去重) 一.集合的定义 s = set()  #定义空集合 s = {'a','b','c' ...

  3. matplotlib极坐标系应用之雷达图

    #!/usr/bin/env python3 #-*- coding:utf-8 -*- ############################ #File Name: test.py #Autho ...

  4. poj1703 Find them, Catch them(并查集的应用)

    Find them, Catch them   Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 32225   Accepte ...

  5. 谈一谈APP支付失败的处理

    如题今天要描述一个问题是:程序在确认订单时拉起第三方支付,支付失败了,引起的问题. 为了能清楚的描述问题,我把场景复现一下,大家肯定都有过APP购物的体会,大家一定知道有一个按钮叫“确认”或者“结算” ...

  6. sublimtext3 自定义编译环境

    sublime text是一个非常神奇到编辑器,对于我这种小白来说,感觉比vim好用,但是如果用sublime自带到编译环境到话,是没法向程序汇总输入数据的,所以要自己新建编译命令 { "c ...

  7. HTML5七巧板canvas绘图

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  8. 网站真分页js代码该怎么写?

    真分页这个词对程序猿们来说,并不是一个陌生的词汇,但是如果你是初次学习真分页,或许还是得花点时间小小研究下,下面是之前去转盘网(喜欢的可以看看,也可以进入引擎模式)的真分页js部分代码,html部分的 ...

  9. 13 memcache服务检查

    [root@cache01 scripts]# vim mem_check.sh #!/bin/bash count_mem=$(netstat -lntup|grep memcached|wc -l ...

  10. 用阿里云搭建Http代理服务器

    先说下我的运行环境: Ubuntu16.04+python3.5,用的是阿里云ECS乞丐版. 搭建步骤: [python] view plain copy 0. 直接用xshell或putty远程到云 ...