File类的基本操作之InputStream字节输入流
话不多少,我直接把代码贴上来了。有什么问题请给我留言
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字节输入流的更多相关文章
- File类的基本操作之读出所有目录路径
package org.mark.file; import java.io.File; /** * File类的基本操作之读出所有文件夹路径 * 假设给定一个文件夹,要求将此文件夹中的所有文件都列出来 ...
- InputStream字节输入流
1.字节输入流——硬盘中数据写出到内存中供解析使用: 根据文件存储原理,8位二进制组成为一个字节,换算后的数值在0-127则查询ASCII码表,其他则查询系统默认表,如简体中文查询GBK表: 2.Fi ...
- File 类 的基本操作
// File 类(静态类) File 的缺点:只能用来读小文件 (它是一下子全都读进去) //创建一个文件 // File.Create(@"C:\Users\wbrm\Deskto ...
- File类-文件基本操作
package com.java.io; import java.io.File; import java.io.IOException; import java.math.BigDecimal; i ...
- 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍
数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...
- Java学习:File类
Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...
- 00090_字节输入流InputStream
1.字节输入流InputStream (1)通过InputStream可以实现把内存中的数据写出到文件: (2)把内存中的数据写出到文件InputStream此抽象类,是表示字节输入流的所有类的超类. ...
- 字节输入流_InputStream类&FileInputStream类介绍和字节输入流读取字节数据
java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类 定义了所有子类共性的方法: int read()从输入流中读取数据的下一个字节 int read(byte[ ...
- 01 语言基础+高级:1-8 File类与IO流_day09【字节流、字符流】
day09[字节流.字符流] 主要内容 IO流 字节流 字符流 异常处理 Properties 教学目标 能够说出IO流的分类和功能 能够使用字节输出流写出数据到文件 能够使用字节输入流读取数据到程序 ...
随机推荐
- POJ3692 Kindergarten 【最大独立集】
Kindergarten Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5317 Accepted: 2589 Desc ...
- Win2 Socket(套接字)相关 API
Socket(套接字) 作者信息 肖进 单位:南京中萃食品有限公司 资讯部 邮箱:xiaoj@njb.swirebev.com 电话:025-58642091 与socket有关的一些函数介绍 1.读 ...
- Vim的设置和使用——编程者
一.第一个插件:Ctags 当我们看到一个陌生的变量或者函数,我们总想知道它的含义,因此,快速找到它的定义很重要.Ctags插件中的"Ctrl+]"快捷键就可以做到. 二.教你高效 ...
- Panel( 面板) 组件 上
一. 加载方式//class 加载方式<div class="easyui-panel" data-options="closable:true"titl ...
- eclipse 插件 最新 eclipse4.x 插件
Properties Editor: 中文显示属性配置文件 help ——> install new SoftWare ——>add Name: xx Location: http: ...
- 初学Java ssh之Spring 第一篇
之前虽然毕业前实习的工作是使用的C# .NET语言,但是,毕业后还是果断应聘Java.虽然自己对Java的理解不如C#深入,只是对基础知识比较熟悉,但还是义无返顾了··· 虽然应聘经历比较坎坷,但最终 ...
- objectivc-c---block
基本格式: returnType (^blockName[num])(paramList|void) = ^returnType(paramList|void){block Body}; 标红部分可根 ...
- DOM----comment类型
nodeTyep=8 nodeName=#comment nodeValue=注释内容
- 第1章 网络编程基础(4)——TCP/IP通信
TCP协议利用网络层IP协议提供不可靠的通信服务,解决分组的重传和排序问题,为应用程序提供可靠的.端到端的.面向连接的基于字节流的服务. 对等TCP传输实体间的通信具有如下特征: 全双工 只支持两个端 ...
- 第8章BOM笔记
第八章 BOM 一. Window 在浏览器中window有双重角色,他既是JavaScript访问浏览器窗口的一个借口,又是ECMAscript 规定的Global对象. 1.全局作用域 由于win ...