`
byandby
  • 浏览: 1689131 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件输入流 FileInputStream

阅读更多
    FileInputStream 类从文件中读取数据。它有以下构造方法:
    FileInputStream(File file)--------参数file指定文件的数据源
    FileInputStream(String name)-------- 参数name指定文件数据源。在参数name中包含了文件路径信息。
    下面这个FileInputStreamTester类读取test.txt文件中的内容。
package xiaohang.com;

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamTester {
	public static void main(String[] args) throws IOException {
		FileInputStream in = new FileInputStream("D:\\test.txt");
		int data;
		while ((data = in.read()) != -1) {
			System.out.println(data + " ");
		}
		// 关闭此文件输入流并释放与此流有关的所有系统资源
		in.close();
	}
}

      假定在 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个字节。
package xiaohang.com;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class UseBuffer {
	public static void main(String[] args) throws IOException {
		final int SIZE=1024;
		FileInputStream in = new FileInputStream("D:\\test.txt");
		FileOutputStream out = new FileOutputStream("D:\\out.txt");
		//创建字节数组缓冲区
		byte[] buff = new byte[SIZE];
		//把test.txt文件中的数据读入到buff中
		int len = in.read(buff);
		while (len!=-1) {
			//把buff中的数据写到out.txt文件中
			out.write(buff, 0, len);
			//从新读取输入流,此时已到达输入流的结尾
			len=in.read();
		}
		in.close();
		out.close();
	}
}

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

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

相关推荐

    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文档

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

    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/:包含一些输入流,将这些流用作其基本数据源,可以直接传输...

    JAVA文件传输的实现.rar

    文件流操作:使用Java的文件输入输出流(FileInputStream、FileOutputStream)读取和写入文件内容。 多线程处理:通过多线程实现并发处理多个文件传输请求,提高传输效率。 异常处理:处理网络异常、文件读写异常等...

Global site tag (gtag.js) - Google Analytics