FileInputStream类是InputStream类的子类。他实现了文件的读取,是文件字节输入流。该类适用于比较简单的文件读取,其所有方法都是从InputStream类继承并重写的。创建文件字节输入流常用的构造方法有两种。

(1)FIleInputSrtream(String filePath);

该构造方法根据指定的文件名称和路径,创建FileInputStream类的实例对象。

语法:

new FileInputStream(filePath);

filePath:文件的绝对或相对路径。

(2)FileInputStream(File file);

该构造方法使用Flie类型的文件对象创建FileInputStream类的实例对象。

语法:

new FileInputStream(file);

file:File文件类型的实例对象。

例:在C盘存在“Example2.txt”文件,此文件的内容为“This is my book!”。创建一个File类的对象,然后创建文件字节输入流对象fis,并且从输入流中读取文件“Example2.txt”的信息。

import java.io.*;
public static void main(String[] args){
File f=new File ("c:\\","Example2.txt");
try{
byte[] bytes=new byte[512];
FileInputStream fis =new FileInputStream(f);//创建文件文件字节输入流
int rs=0;
System.out.println("The content of Example is :");
while ((rs=fis.read(bytes,0,512))>0){
//再循环中读取输入流的数据
String s=new String (bytes,0,rs);
System.out.println(s);
}
fis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

结果:

FileOutputStream类是OutputStream类的子类。它实现了文件的写入,能够以字节形式写入文件中,该类的所有方法都是从OutputStream类继承并重写的。创建文件字节输出流常用的构造方法有两种。

(1)FileOutputStream(String filePath)。

该构造方法根据指定的文件名称和路径,创建关联该文件的FileOutputStream类实例对象。

语法:

new FileOutputStream(filePath);

filePath:文件的绝对或相对路径。

(2)FileOutputStream(File file)。

该构造方法使用File类型的文件对象,创建与该文件关联的FileOutputStream类的实例对象。

语法:

new FileOutputStream(file);

file:File文件类型的实例对象。在file后面,加true会对原有内容进行追加,不加true会将原有内容覆盖。

例:

传建一个File类的对象,首先潘墩此配置文件是否存在,如果不存在,则调用createNew File方法创建一个文件,然后从键盘输入字符存入数组里,创建文件输出流,把数组里的字符写入到文件中,最终结果保存的“Example3.txr”文件。

import java.io.*;
public class Example3{
public static void main(String[] args){
int b;
File file =new File ("C:\\","Example3.txxt");
byte[] bytes=new byte[512];
System.out.println("请输入你想存入文本的内容");
try{
if (!file.exists())
file.createNewFile();
//把从键盘输入的字符存入bytes里
b=System.out.read(bytes);
//创建文件输出流
FileOutputStream fos=new FileOutputStream(file,true);
fos.write(bytes,0,b); //把bytes写入到指定文件中
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

结果:

FileInputStream类与FileOutputStream类的更多相关文章

  1. 字节流与字符流(FileInputStream类和FileOutputStream类)

    FileInputStream类和FileOutputStream类中,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流.例如: FileInputSte ...

  2. FileInputStream与FileOutputStream类 Reader类和Writer类 解析

    FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...

  3. FileInputStream与FileOutputStream类

    FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...

  4. 字节流, FileOutputStream类,FileInputStream类,复制文件,字符流

    字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节 基本方法: 子类可继承调用以上方法 FileOutputStream类 构造方 ...

  5. java-io-FileInputStream与FileOutputStream类

    本文转载这里FileInputStream和FileOutputStream类需要注意的问题:  1.FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输 ...

  6. FileIntputStream / FileOutputStream 类

    FileInputStream类(重点)     (1)基本概念 java.io.FileInputStream类用于读取诸如图像之类的原始字节流.   (2)常用的方法 FileInputStrea ...

  7. FileInputStream 类与 FileReader 类的区别

    FileInputStream 类与 FileReader 类的区别: 两个类的构造函数的形式和参数都是相同的,参数为 File 对象或者表示路径的 String ,它们到底有何区别呢? FileIn ...

  8. 一切皆为字节和字节输出流_OutputStream类&FileOutputStream类介绍

    一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使用什 ...

  9. java中的 FileWriter类 和 FileReader类的一些基本用法

    1,FileWriter类(字符输出流类) |--用来写入字符文件的便捷类.此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的.要自己指定这些值,可以先在 FileOutputStream ...

随机推荐

  1. 『Numpy』np.ravel()和np.flatten()

    What is the difference between flatten and ravel functions in numpy? 两者的功能是一致的,将多维数组降为一维,但是两者的区别是返回拷 ...

  2. 【Java】【6】JDK8 Stream操作整理

    摘要: 1,List<EntityOld>转换为List<EntityNew> List<EntityOld> list = oldList; List<En ...

  3. [contest 781] 9.6

    [contest 781] 9.6 - XJOI czx的温暖题... T1 军训

  4. qml 设置tooltip,Customizing ToolTip

    Button {            id: btn            text: "Tip"            anchors.horizontalCenter: pa ...

  5. 整合elk(1)(十二)

    elk 简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是 ...

  6. python截取字符串

    str = ‘0123456789’ print str[0:3] #截取第一位到第三位的字符 print str[:] #截取字符串的全部字符 print str[6:] #截取第七个字符到结尾 p ...

  7. npm 安装nodesass 或者包含nodesass的脚手架工具报错问题

    由于最近vue转angular 但是angular版本太多了,好多项目是angularv4 有的是v5 近日angular又发布了v6,依赖的东西好多不一样,结果npm install 时候,总是出现 ...

  8. lubuntu16.04 安装过程以及ssd测试模型的环境配置

    1.系统启动盘(ultraISO)制作启动盘, 1/5 文件->打开,打开我们的iso镜像 2/5 选择我们的u盘, 3/5 点击启动->写入硬盘映像 4/5 写入方式选择raw,格式化然 ...

  9. Javascript this 的一些总结

    1.1.1 摘要 相信有C/C++.C#或Java等编程经验的各位,对于this关键字再熟悉不过了.由于Javascript是一种面向对象的编程语言,它和C/C++.C#或Java一样都包含this关 ...

  10. bzoj2946

    题解: 和poj1226差不多 把翻转去掉 然后不要忘记开大数组和二分的上限答案 代码: #include<bits/stdc++.h> using namespace std; type ...