`
zzhangyx
  • 浏览: 69085 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

文件输入流 FileInputStream

    博客分类:
  • JAVA
阅读更多

    FileInputStream 类从文件中读取数据。它有以下构造方法: 
    FileInputStream(File file)--------参数file指定文件的数据源 
    FileInputStream(String name)-------- 参数name指定文件数据源。在参数name中包含了文件路径信息。 
    下面这个FileInputStreamTester类读取test.txt文件中的内容。 
Java代码  收藏代码
  1. package xiaohang.com;  
  2.   
  3. import java.io.FileInputStream;  
  4. import java.io.IOException;  
  5.   
  6. public class FileInputStreamTester {  
  7.     public static void main(String[] args) throws IOException {  
  8.         FileInputStream in = new FileInputStream("D:\\test.txt");  
  9.         int data;  
  10.         while ((data = in.read()) != -1) {  
  11.             System.out.println(data + " ");  
  12.         }  
  13.         // 关闭此文件输入流并释放与此流有关的所有系统资源  
  14.         in.close();  
  15.     }  
  16. }  

      假定在 test.txt文件中包含的字符串为"abc1好" ,并且假定文件所在的操作系统的默认字符编码为GBK, 那么在文件中实际存放的是这5个字符的GBK 字符编码, 字符"a"、"b"、"c"、 和 "1" 的GBK字符编码各占一个字节,分别是97、98、99和49。“好”的GBK字符编码占2个字节,为186和195。文件输入流的read()方法每次读取一个字节,因此以上程序打印的结果为: 

 

   如果文件很大,为了提高效率,可以使用read(byte[] buff)方法,它能减少物理文件的次数。下面这个UseBuffer类的main()方法把test.txt 中数据拷贝到out.txt中。在进行读写操作时,都使用了字节数组缓冲区,每次最多读写1024个字节。 
Java代码  收藏代码
  1. package xiaohang.com;  
  2.   
  3. import java.io.FileInputStream;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6.   
  7. public class UseBuffer {  
  8.     public static void main(String[] args) throws IOException {  
  9.         final int SIZE=1024;  
  10.         FileInputStream in = new FileInputStream("D:\\test.txt");  
  11.         FileOutputStream out = new FileOutputStream("D:\\out.txt");  
  12.         //创建字节数组缓冲区  
  13.         byte[] buff = new byte[SIZE];  
  14.         //把test.txt文件中的数据读入到buff中  
  15.         int len = in.read(buff);  
  16.         while (len!=-1) {  
  17.             //把buff中的数据写到out.txt文件中  
  18.             out.write(buff, 0, len);  
  19.             //从新读取输入流,此时已到达输入流的结尾  
  20.             len=in.read();  
  21.         }  
  22.         in.close();  
  23.         out.close();  
  24.     }  
  25. }  

   如果test.txt文件与UseBuffer类的 .class 文件位于同一目录下,也可以通过Class类的getResourceAsStream()方法来获得输入流,例如: 
Java代码  收藏代码
  1. InputStream in = UseBuffer.class.getResourceAsStream("test.txt");//适用于静态方法或实例方法  
  2. //或者:  
  3. InputStream in = this.getClass().getResourceAsStream("test.txt"); //适用于实例方法  

  以上方法的好处在于只提供test.txt文件的相对路径。
分享到:
评论

相关推荐

    JAVA文件压缩与解压缩实践.doc

    //打开需压缩文件作为文件输入流 FileInputStream fin=new FileInputStream(args[0]); //建立压缩文件输出流 FileOutputStream fout=new FileOutputStream(args[1]); //建立gzip压缩输出流 GZIPOutputStream ...

    Java开发技术大全 电子版

    7.2.3文件输入流FileInputStream239 7.2.4文件输出流FileOutputStream239 7.2.5保存用户输入到文件240 7.2.6显示文件内容241 7.2.7文件的复制243 7.2.8顺序输入流244 7.2.9管道输入输出流246 7.2.10过滤输入...

    FileInputStream的用法1---马克-to-win java视频

    FileInputStream的用法1---马克-to-win java视频文件输入流

    FileInputStream.java文档

    文件字节输入流,里面有文件字节输入流的相关要点以及经典案例

    使用文件流操作文本文件.docx

    在C++、Java、Python等编程语言中,文件流通常通过特定的类来实现,如C++中的ifstream(输入文件流)和ofstream(输出文件流),Java中的FileInputStream和FileOutputStream,以及Python中的内置文件操作函数。...

    Java从文件中读取数字证书.rar

    Java生成 数字证书源码,从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂,获取证书,请查看以下相关代码:  //生成文件输入流,输入文件为c:/mycert.cer  ...

    Android项目设计与开发:基本文件存储.ppt

    基本文件存储 创建一个文件(写操作): openFileOutput() 写操作文件打开方式 FileOutputStream 安卓文件输出流 读取文件内容 openFileInput() 读操作文件打开方式 FileInputStream 安卓文件输入流 实验 有序广播...

    Java Zip算法压缩多个文件的例子.rar

    Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码:  ...

    FileInputStream 和 FileOutputStream 介绍_动力节点Java学院整理

    FileInputStream 是文件输入流,它继承于InputStream。 通常,我们使用FileInputStream从某个文件中获得输入字节。 FileOutputStream 是文件输出流,它继承于OutputStream。 通常,我们使用FileOutputStream 将数据...

    JavaSE进阶-06-IO流1

    1.2 文件流 1.2.1 FileInputStream(文件字节输入流) 1.2.2 FileOutputStream(文件字节输出流)

    FileInputStream的用法2---马克-to-win java视频

    FileInputStream的用法2---马克-to-win java视频文件输入流的介绍

    jlayer-1.0.1.jar

    //创建一个输入流 FileInputStream fileInputStream; try { fileInputStream = new FileInputStream(mp3); //创建一个缓冲流 BufferedInputStream bufferedInputStream = ...

    io流实现复制与简单加密

    通过输入输出流FileInputStream FileoutputStream 将本地文件复制并进行^的加密。

    Java压缩带有中文名的文件.rar

    //从源文件得到文件输入流  FileOutputStream fout=new FileOutputStream(target); //得到目标文件输出流  CNZipOutputStream cnout=new CNZipOutputStream(fout,"GB2312"); //得到压缩输出流  String filename=...

    Java仿Windows 窗口化复制文件功能.rar

    //得到文件输入流   FileOutputStream fout=new FileOutputStream(fileOut); //得到文件输出流   byte[] bytes=new byte[1024]; //初始化字节数组,用于缓冲   int c;   while((c=fin.read(bytes))!=-1)...

    java中实现复制文件和文件夹

    // 新建文件输入流并对它进行缓冲 FileInputStream input = new FileInputStream(sourceFile); BufferedInputStream inBuff=new BufferedInputStream(input); // 新建文件输出流并对它进行缓冲 ...

    IO流——文件操作字节流常用方法一览

    1.1 文件操作输入字节流 ileInputStream 文件操作输入字节流 Constructor 构造方法 FileInputStream(File file); 这里是根据提供的File类对象创建对应的文件操作输入字节流。 FileInputStream(String pathName);...

    SWT/Jface文件下载进度条 组件封装代码

    对SWT/Jface的进度条(ProgressMonitorDialog)进行封装,使下载文件更方便调用. DownloadProgressBar 是单个文件下载...多文件下载传入输入流数组,输出流数组(或目标文件数组)便可自动下载. 下载资源后,请自动更改包名.

    java 文件读写功能

    以字节为单位读取文件、以字符为单位读取文件、以行为单位读取文件、随机读取文件内容、显示输入流中还剩的字节数、追加文件 FileInputStream、AppendToFile、 RandomAccessFile 、InputStreamReader

    IO体系.java

    |--FileInputStream/:文件输入流。从文件系统中的某个文件中获得输入字节。用于读取图像,声音,视频等数据类的原始字节流。 | |--FilterInputStream/:包含一些输入流,将这些流用作其基本数据源,可以直接传输...

Global site tag (gtag.js) - Google Analytics