话不多少,我直接把代码贴上来了。有什么问题请给我留言

package org.mark.streamRW;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; /**
* 字节输出流:OutputStream,整个IO包中字节输出流的最大父类
* 字节输入流:InputStream
*
* InputStream使用子类FileInputStream。读取
*/
public class InStream1 { /**
* @param args
*/
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
//第1步:使用File类找到一个文件
File file = new File("d:" +File.separator +"test.txt");
//第2步:通过子类实例化父类对象
InputStream in = null;
in = new FileInputStream(file);//通过对象多态性,进行实例化
//3.读
byte[] b = new byte[1024];
in.read(b);
//4.关闭
in.close();
System.out.println(new String(b));//变成字符串输出 //遗留问题:留了很多空格。没有那么大,开了1024空间,没有内容的为空
} }

上一个程序的遗留问题:

package org.mark.streamRW;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; //解决遗留问题
public class InStream2 { /**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
//第1步:使用File类找到一个文件
File file = new File("d:" +File.separator +"test.txt");
//第2步:通过子类实例化父类对象
InputStream in = null;
in = new FileInputStream(file);//通过对象多态性,进行实例化
//3.读
byte[] b = new byte[1024]; int len = in.read(b);//读取内容
//4.关闭
in.close(); //解决遗留问题,看String提供的方法
System.err.println("读入数据的长度:" + len);
System.out.println(new String(b,0,len));//变成字符串输出 //能不能依据文件大小来开辟空间呢?
} }

解决依据文件大小来开辟空间

package org.mark.streamRW;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; //解决依据文件大小来开辟空间
public class InStream3 { /**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
//第1步:使用File类找到一个文件
File file = new File("d:" +File.separator +"test.txt");
//第2步:通过子类实例化父类对象
InputStream in = null;
in = new FileInputStream(file);//通过对象多态性,进行实例化
//3.读
byte[] b = new byte[(int) file.length()]; //解决依据文件大小来开辟空间 int len = in.read(b);//读取内容
//4.关闭
in.close(); //解决遗留问题,看String提供的方法
System.err.println("读入数据的长度:" + len);
System.out.println(new String(b));//变成字符串输出
} }

仅仅适合知道文件大小的输入

package org.mark.streamRW;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; //仅仅适合知道文件大小的输入
public class InStream4 { /**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
//第1步:使用File类找到一个文件
File file = new File("d:" +File.separator +"test.txt");
//第2步:通过子类实例化父类对象
InputStream in = null;
in = new FileInputStream(file);//通过对象多态性,进行实例化
//3.读
byte[] b = new byte[(int) file.length()]; //解决依据文件大小来开辟空间
for (int i = 0; i < b.length; i++) {
b[i] = (byte) in.read();
}
// int len = in.read(b);//读取内容
//4.关闭
in.close(); //解决遗留问题,看String提供的方法
System.out.println(new String(b));//变成字符串输出
} }

当不知道读取内容有多大的时候,就仅仅能以读取的数据是否为-1为读完的标志

package org.mark.streamRW;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; //当不知道读取内容有多大的时候,就仅仅能以读取的数据是否为-1为读完的标志
public class InStream5 { /**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
//第1步:使用File类找到一个文件
File file = new File("d:" +File.separator +"test.txt");
//第2步:通过子类实例化父类对象
InputStream in = null;
in = new FileInputStream(file);//通过对象多态性,进行实例化
//3.读
byte[] b = new byte[1024]; //解决依据文件大小来开辟空间
int len = 0;
int temp = 0;//接受每一个读取进来的数据
while ((temp = in.read())!= -1) {
//表示还有内容,文件没有读完
b[len] = (byte) temp;
len++ ;
}
//4.关闭
in.close(); //解决遗留问题,看String提供的方法
System.out.println(new String(b,0,len));//变成字符串输出
} }

贴的太快了~几乎吧程序关了~

File类的基本操作之InputStream字节输入流的更多相关文章

  1. File类的基本操作之读出所有目录路径

    package org.mark.file; import java.io.File; /** * File类的基本操作之读出所有文件夹路径 * 假设给定一个文件夹,要求将此文件夹中的所有文件都列出来 ...

  2. InputStream字节输入流

    1.字节输入流——硬盘中数据写出到内存中供解析使用: 根据文件存储原理,8位二进制组成为一个字节,换算后的数值在0-127则查询ASCII码表,其他则查询系统默认表,如简体中文查询GBK表: 2.Fi ...

  3. File 类 的基本操作

    //  File 类(静态类)   File 的缺点:只能用来读小文件 (它是一下子全都读进去) //创建一个文件 // File.Create(@"C:\Users\wbrm\Deskto ...

  4. File类-文件基本操作

    package com.java.io; import java.io.File; import java.io.IOException; import java.math.BigDecimal; i ...

  5. 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍

    数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...

  6. Java学习:File类

    Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...

  7. 00090_字节输入流InputStream

    1.字节输入流InputStream (1)通过InputStream可以实现把内存中的数据写出到文件: (2)把内存中的数据写出到文件InputStream此抽象类,是表示字节输入流的所有类的超类. ...

  8. 字节输入流_InputStream类&FileInputStream类介绍和字节输入流读取字节数据

    java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类 定义了所有子类共性的方法: int read()从输入流中读取数据的下一个字节 int read(byte[ ...

  9. 01 语言基础+高级:1-8 File类与IO流_day09【字节流、字符流】

    day09[字节流.字符流] 主要内容 IO流 字节流 字符流 异常处理 Properties 教学目标 能够说出IO流的分类和功能 能够使用字节输出流写出数据到文件 能够使用字节输入流读取数据到程序 ...

随机推荐

  1. Android RatingBar自定义替换系统图片

    1.自定义替换提醒☆图片,准备两个图片添加到系统中去:如下:        在drewable下定义一个图片资源ratingbar_drawable.xml 1 2 3 4 5 6 7 8 9 10 ...

  2. 大数据笔记13:Hadoop安装之Hadoop的配置安装

    1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip ...

  3. linux增大交换分区

    进来在批量搭建环境,遇到搭建完环境之后发现swap忘记的情况,后来百度了下,发现了下面的方法,网上可能存在好多相应的帖子说这个事情也比较简单,以下是自己实践的结果,分享给大家. 1.查看现有memor ...

  4. permission is only granted to system apps--Android manifest权限问题

    在android的manifest.xml下编辑如下代码:<uses-permission android:name="android.permission.INTERNET" ...

  5. RAC 常用维护工具和命令(oracle 10g)

    Oracle 的管理可以通过OEM或者命令行接口. Oracle Clusterware的命令集可以分为以下4种: 节点层:osnodes 网络层:oifcfg 集群层:crsctl, ocrchec ...

  6. 乱七八糟Nodejs系列二:线程模型

    上一篇中说了这样一句话:Nodejs和浏览器javascript一样,都是单线程,所以和传统的不一样,这个后面有机会再说.挖了坑就得填,哎. 1.一个例子 来看一个例子,这个例子来自async jav ...

  7. C语言初学 计算表达式的值 switch的意义

    #include<stdio.h> main() { int a; printf("请输入一个数字\n"); scanf("%d",&a); ...

  8. 让C程序更高效的10种方法

    http://blog.jobbole.com/1198/ 代码之美,不仅在于为一个给定问题找到解决方案,而且还在代码的简单性.有效性.紧凑性和效率(内存).代码设计比实际执行更难 .因此,每一个程序 ...

  9. forEach遍历对象数组案例

    <script> var users = [ {name:'name1',age:21}, {name:'name2',age:22}, {name:'name3',age:23} ]; ...

  10. [LeetCode 122] - 买入与卖出股票的最佳时机II(Best Time to Buy and Sell Stock II)

    问题 假设你有一个数组,其中的第i个元素表示一只股票在第i天的价格. 设计一个算法找出最大的利润值.你可以进行任意多次的交易(即多次的卖出并买入一份股票).你不能在同一时间进行多次交易(即你必须在再次 ...