如何在Java中读取文件– FileInputStream

在Java中, FileInputStream是字节流类,用于从文件读取字节。 以下示例将使用FileInputStream读取名为“ c:/robots.txt ”的文件,并将其内容显示在控制台上。

//This is content of file : c:/robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

请参阅下面的完整示例。

package com.mkyong.io;

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

public class ReadFileExample {

	public static void main(String[] args) {

		File file = new File("C:/robots.txt");
		FileInputStream fis = null;

		try {
			fis = new FileInputStream(file);

			System.out.println("Total file size to read (in bytes) : "
					+ fis.available());

			int content;
			while ((content = fis.read()) != -1) {
				// convert to char and display it
				System.out.print((char) content);
			}

		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (fis != null)
					fis.close();
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
	}
}

以下结果将显示在控制台上。

Total file size to read (in bytes) : 90
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-includes-test/

JDK 7示例

更新的JDK7示例,使用新的“尝试关闭资源”方法轻松处理文件。

package com.mkyong.io;

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

public class ReadFileExample {

	public static void main(String[] args) {

		File file = new File("C:/robots.txt");

		try (FileInputStream fis = new FileInputStream(file)) {

			System.out.println("Total file size to read (in bytes) : "+ fis.available());

			int content;
			while ((content = fis.read()) != -1) {
				// convert to char and display it
				System.out.print((char) content);
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

参考文献

  1. http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html
  2. http://www.mkyong.com/java/how-to-write-to-file-in-java-fileoutputstream-example/

翻译自: https://mkyong.com/java/how-to-read-file-in-java-fileinputstream/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值