在编程开发中,将键盘输入的文本内容保存至磁盘文件是一个基础且高频的需求,以下通过不同编程语言示例详细说明实现方法,并提供可直接运行的代码。
Python语法简洁,适合快速处理文本输入输出:
with open('output.txt', 'w') as f: # 自动关闭文件 print("输入内容(空行结束):") while True: line = input() if not line.strip(): # 检测空行 break f.write(line + 'n') # 换行符保持格式
注意事项:
with
语句自动处理文件关闭strip()
方法过滤空白字符Java需显式处理异常:
import java.io.*; import java.util.Scanner; public class TextSaver { public static void main(String[] args) { try (FileWriter writer = new FileWriter("output.txt"); Scanner scanner = new Scanner(System.in)) { System.out.println("输入内容(输入:q退出):"); while (scanner.hasNextLine()) { String line = scanner.nextLine(); if (":q".equals(line)) break; // 自定义结束符 writer.write(line + System.lineSeparator()); } } catch (IOException e) { System.err.println("文件写入错误: " + e.getMessage()); } } }
关键点:
try-with-resources
自动关闭资源StandardCharsets.UTF_8
参数)C语言需手动管理资源:
#include <stdio.h> #include <stdlib.h> int main() { char buffer[256]; FILE *fp = fopen("output.txt", "w"); if (!fp) { perror("文件打开失败"); return EXIT_FAILURE; } printf("输入内容(空行结束):n"); while (fgets(buffer, sizeof(buffer), stdin)) { if (buffer[0] == 'n') break; // 检测回车键 fputs(buffer, fp); } fclose(fp); return 0; }
重点提示:
fclose()
现象 | 解决方案 |
---|---|
文件权限不足 | 检查目录写入权限 |
中文乱码 | 统一文件编码格式 |
换行异常 | 使用系统无关换行符 |
引用说明: