Java 教程

Java 教程

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 content = Files.readAllLines(Paths.get("d://test/testFile3.txt"));

示例:使用 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 lines = Arrays.asList("1st line", "2nd line");

Files.write(Paths.get(

"file6.txt"), lines, StandardCharsets.UTF_8,

StandardOpenOption.CREATE, StandardOpenOption.APPEND);

List content = Files.readAllLines(Paths.get("d://test/testFile3.txt"));

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]

打印页面

上一个 下一个

广告

黄金推荐

传奇手游建行会怎么加入?在哪里能找到建行会?
365bet官网哪里找

传奇手游建行会怎么加入?在哪里能找到建行会?

🕒 08-24 💰 4144
IT人才外包:推荐几家在人工智能领域有实力的软件外包公司
金色好看还是玫瑰金好看?哪种颜色更适合佩戴
365体育管网登录网站

金色好看还是玫瑰金好看?哪种颜色更适合佩戴

🕒 09-28 💰 8318