如何用Java实现命令行下的文件读写?附Python/C参考代码
对应Python/C功能的Java实现方案
用户已有实现命令行参数读取、文件读写功能的Python和C代码,希望得到等价的Java实现,并询问Java中是否存在类似Python open() 或C fopen() 的直接文件打开方式。
Java等价实现代码
public class FileProcessor { public static void main(String[] args) { // 打印命令行参数信息 System.out.println("#ARGS = " + args.length); System.out.println("PROGRAM = " + args[0]); System.out.println("ARG1 = " + args[1] + ", ARG2 = " + args[2]); // 用try-with-resources自动管理文件资源,无需手动调用close() try (java.io.BufferedReader input = new java.io.BufferedReader(new java.io.FileReader(args[1])); java.io.BufferedWriter output = new java.io.BufferedWriter(new java.io.FileWriter(args[2]))) { // 示例读写逻辑:逐行读取输入文件并写入输出文件 String line; while ((line = input.readLine()) != null) { output.write(line); output.newLine(); } } catch (java.io.IOException e) { e.printStackTrace(); } } }
Java文件操作说明
Java中没有像Python open() 或C fopen() 那样的全局函数,而是通过IO类库实现文件操作:
- 针对文本文件:使用
FileReader(只读)、FileWriter(只写),通常包装BufferedReader/BufferedWriter提升读写效率 - 针对二进制文件:使用
FileInputStream/FileOutputStream - Java 7及以上推荐使用try-with-resources语法,它会自动关闭所有实现
AutoCloseable接口的资源,避免手动调用close()导致的资源泄漏问题
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

