在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();
}
}
}
参考文献
- http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html
- 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/