Java I/O streams facilitate file processing: Reading files: Use a FileInputStream object to create an input stream. Use the read() method to read the file contents into a byte array. Iterate over the byte array and print the contents. Writing to a file: Use a FileOutputStream object to create an output stream. Use the write() method to write a string to a file. Practical case: Use FileInputStream and Scanner to read specific lines from a file. Read the file line by line and compare the line numbers. Print the contents of the line matching the line number.
Java I/O streams: reading and writing files
Introduction
Java I/O streams provide a convenient way to process files. We can read and write files using streams.
Read and write files
1. Read files
import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ReadFile { public static void main(String[] args) { try { // 创建一个 FileInputStream 对象 FileInputStream fis = new FileInputStream(new File("file.txt")); // 创建一个字节数组 byte[] data = new byte[1024]; // 读取文件内容到字节数组 int readBytes = fis.read(data); // 循环遍历字节数组并打印文件内容 for (int i = 0; i < readBytes; i++) { System.out.print((char) data[i]); } // 关闭文件输入流 fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
2. Write files
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class WriteFile { public static void main(String[] args) { try { // 创建一个 FileOutputStream 对象 FileOutputStream fos = new FileOutputStream(new File("file.txt")); // 将字符串写入文件 String data = "This is a sample text."; fos.write(data.getBytes()); // 关闭文件输出流 fos.close(); } catch (IOException e) { e.printStackTrace(); } } }
Practical case
Read specific lines from a file
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Scanner; public class ReadSpecificLine { public static void main(String[] args) { try { // 创建一个 FileInputStream 对象 FileInputStream fis = new FileInputStream(new File("file.txt")); // 创建一个 Scanner 对象 Scanner scanner = new Scanner(fis); // 输入要读取的行号 int lineNumber = 5; // 逐行读取文件 int currentLine = 1; while (scanner.hasNextLine()) { String line = scanner.nextLine(); // 如果当前行号等于要读取的行号,则打印该行 if (currentLine == lineNumber) { System.out.println(line); } currentLine++; } // 关闭文件输入流 fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
The above is the detailed content of How does Java I/O stream read and write files?. For more information, please follow other related articles on the PHP Chinese website!