Java - 读取文件
上一个
下一个
在 Java 中读取文件
我们可以使用多种方法在 Java 中读取文件。以下是三种在 Java 中创建文件的流行方法:
使用 FileInputStream() 构造函数
使用 FileReader.read() 方法
使用 Files.readAllLines() 方法
让我们看看在 Java 中读取文件的每种方法。
使用 FileInputStream() 构造函数读取文件
FileInputStream 用于从文件读取数据。可以使用关键字 new 创建对象,并且有几种类型的构造函数可用。
语法
以下 构造函数 以字符串形式获取文件名以创建输入流对象以读取文件:
InputStream f = new FileInputStream("C:/java/hello.txt");
语法
以下构造函数获取文件对象以创建输入流对象以读取文件。首先,我们使用 File() 方法创建文件对象,如下所示:
File f = new File("C:/java/hello.txt");
InputStream f = new FileInputStream(f);
示例:使用 FileInputStream() 构造函数读取文件
以下示例演示了使用 FileInputStream 从当前目录读取文件:
package com.tutorialspoint;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileTest {
public static void main(String args[]) {
try {
byte bWrite [] = {65, 66, 67, 68, 69};
OutputStream os = new FileOutputStream("test.txt");
for(int x = 0; x < bWrite.length ; x++) {
os.write( bWrite[x] ); // writes the bytes
}
os.close();
InputStream is = new FileInputStream("test.txt");
int size = is.available();
for(int i = 0; i < size; i++) {
System.out.print((char)is.read() + " ");
}
is.close();
} catch (IOException e) {
System.out.print("Exception");
}
}
}
以上代码将创建文件 test.txt 并以二进制格式写入给定的数字。将使用 FileInputStream 读取相同的内容,并在标准输出屏幕上打印输出。
输出
A B C D E
使用 FileReader.read() 方法读取文件
FileReader 类 的 FileReader.read() 方法允许从文件读取字符,如下所示:
语法
// get an existing file
File file = new File("d://test//testFile1.txt");
// read content
FileReader reader = new FileReader(file);
int c;
while ((c = reader.read()) != -1) {
char ch = (char) c;
System.out.print(ch);
}
示例:使用 FileReader.read() 方法读取文件
以下示例演示了使用 FileReader.read() 方法从给定目录读取文件的文件:
package com.tutorialspoint;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileTest {
public static void main(String args[]) {
try {
File file = new File("d://test//testFile1.txt");
//Create the file
if (file.createNewFile()) {
System.out.println("File is created!");
} else {
System.out.println("File already exists.");
}
// Write Content
FileWriter writer = new FileWriter(file);
writer.write("Test data");
writer.close();
// read content
FileReader reader = new FileReader(file);
int c;
while ((c = reader.read()) != -1) {
char ch = (char) c;
System.out.print(ch);
}
} catch (IOException e) {
System.out.print("Exception");
}
}
}
以上代码将创建文件 test.txt 并以文本格式写入给定的字符串。这将是标准输出屏幕上的输出。
输出
File is created!
Test data
使用 Files.readAllLines() 方法读取文件
Files.readAllLines() 是一种较新的方法,用于将文件的所有内容作为字符串列表读取,如下所示:
语法
List
示例:使用 Files.readAllLines() 方法读取文件
以下示例演示了使用 readAllLines() 方法从给定目录读取文件的文件:
package com.tutorialspoint;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.List;
public class FileTest {
public static void main(String args[]) {
try {
String data = "Test data";
Files.write(Paths.get("d://test/testFile3.txt"), data.getBytes());
List
Files.write(Paths.get(
"file6.txt"), lines, StandardCharsets.UTF_8,
StandardOpenOption.CREATE, StandardOpenOption.APPEND);
List
System.out.println(content);
content = Files.readAllLines(Paths.get("file6.txt"));
System.out.println(content);
} catch (IOException e) {
System.out.print("Exception");
}
}
}
以上代码将创建文件 test.txt 并以文本格式写入给定的字符串。这将是标准输出屏幕上的输出。
输出
[Test data]
[1st line, 2nd line]
打印页面
上一个 下一个
广告