这个文件保存不了 怎么添加东西到文件中呀 程序可以运行 但就是文件无法保存
3条回答 默认 最新
- 专家-皆知 2024-06-17 16:17关注
参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。
从你提供的代码片段来看,有几个关键点需要注意,以确保文件能正确保存数据:
- 文件路径和权限:确认"D:\Staff.txt"路径是否存在,以及是否有写入权限。
- 类名拼写错误:
F.createNewFile();
应改为f.createNewFile();
- FileWriter实例化时未关闭括号:
Filewriter fw = null;
应为FileWriter fw = null;
并且在创建时应该捕获可能抛出的异常。 - FileWriter写入前应检查文件是否已存在并处理:如果文件已存在,你需要决定是覆盖还是追加写入。
- 字符串构造和写入:确保字符串构造正确,并且在写入后正确关闭流。
下面是修改后的代码示例:
import java.io.File; import java.io.FileWriter; import java.io.IOException; public class FileSave { public static void save() { try { // 创建或清空文件 File f = new File("D:\\Staff.txt"); if (f.exists()) { f.delete(); } f.createNewFile(); FileWriter fw = new FileWriter(f); for (int i = 0; i < chief.data.size(); i++) { // 构造字符串 String tmp = chief.data.get(i).getId() + "\t" + chief.data.get(i).getName() + "\t"; // 写入文件 fw.write(tmp + "\r\n"); } // 关闭流 fw.close(); } catch (IOException e) { // 处理异常 e.printStackTrace(); } } }
注意:
- 代码中的
chief.data
应该是一个已经定义好的列表,包含了你需要写入的数据对象。 - 使用
FileWriter
时,如果文件已存在,默认会覆盖原有内容。如果想追加内容,可以将FileWriter
的构造函数改为new FileWriter("D:\\Staff.txt", true);
。
另外,对于读取文件的部分,也需要确保文件路径正确,以及正确处理可能出现的异常。这里不重复展开,因为你的主要问题是关于如何保存文件。如果读取部分也有问题,可以参照类似的修改原则进行调整。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 为什么安装CSiBridge时出现了这个问题,尝试了很多方法都不行,求详细操作步骤?
- ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
- ¥15 使用MATLAB进行余弦相似度计算加速
- ¥15 服务器安装php5.6版本
- ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
- ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
- ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
- ¥15 arcgis处理土地利用道路 建筑 林地分类
- ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
- ¥100 寻会做云闪付tn转h5支付链接的技术