Java IO是Java编程语言的核心库之一,它通过提供一组类和接口,使我们能够进行文件和数据流的操作。在Java IO中,文件读取是常见的操作之一。下面我们将介绍Java IO文件操作从文件读取数据的六种方法。
方法一、使用FileInputStream和Scanner类
- 首先使用FileInputStream类创建一个字节流对象。
- 创建一个Scanner对象,使用字节流作为Scanner的输入流。
- 使用Scanner的各种方法从字节流中读取数据。
示例代码:
import java.io.*;
import java.util.Scanner;
public class ReadFileExample1 {
public static void main(String[] args) throws FileNotFoundException {
FileInputStream inputStream = new FileInputStream("test.txt");
Scanner scanner = new Scanner(inputStream);
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
方法二、使用BufferedReader和FileReader类
- 首先使用FileReader类创建一个字符流对象。
- 创建一个BufferedReader对象,使用字符流作为BufferedReader的输入流。
- 使用BufferedReader的readLine方法从字符流中读取数据。
示例代码:
import java.io.*;
public class ReadFileExample2 {
public static void main(String[] args) throws IOException {
FileReader reader = new FileReader("test.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
}
方法三、使用Scanner和File类
- 使用File类创建一个文件对象。
- 创建一个Scanner对象,使用文件作为Scanner的输入流。
- 使用Scanner的各种方法从文件中读取数据。
示例代码:
import java.io.*;
import java.util.Scanner;
public class ReadFileExample3 {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("test.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
方法四、使用BufferedReader和InputStreamReader类
- 使用FileInputStream类创建一个字节输入流对象。
- 使用InputStreamReader类创建一个字符输入流对象,并将字节输入流作为参数传入。
- 创建一个BufferedReader对象,使用字符输入流作为BufferedReader的输入流。
- 使用BufferedReader的readLine方法从字符流中读取数据。
示例代码:
import java.io.*;
public class ReadFileExample4 {
public static void main(String[] args) throws FileNotFoundException, IOException {
FileInputStream inputStream = new FileInputStream("test.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
}
方法五、使用Scanner和BufferedInputStream类
- 使用FileInputStream类创建一个字节输入流对象。
- 创建一个BufferedInputStream对象,使用字节输入流作为BufferedInputStream的输入流。
- 创建一个Scanner对象,使用BufferedInputStream作为Scanner的输入流。
- 使用Scanner的各种方法从输入流中读取数据。
示例代码:
import java.io.*;
import java.util.Scanner;
public class ReadFileExample5 {
public static void main(String[] args) throws FileNotFoundException {
FileInputStream inputStream = new FileInputStream("test.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
Scanner scanner = new Scanner(bufferedInputStream);
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
方法六、使用Files和Stream接口
- 使用Files类读取文件内容,并返回Stream流对象。
- 使用Stream流对象的各种方法从输入流中读取数据。
示例代码:
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class ReadFileExample6 {
public static void main(String[] args) throws IOException {
Stream<String> stream = Files.lines(Paths.get("test.txt"));
stream.forEach(System.out::println);
stream.close();
}
}
以上就是Java IO文件操作从文件读取数据的六种方法的详细攻略,每种方法都有对应的示例代码,可以根据具体需求选择使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java io文件操作从文件读取数据的六种方法 - Python技术站