追加文本文件操作

sxlcom 2010-05-28 01:11:22
以下本人想实现一个写txt文件操作,为何我每执行一次,list内容不是追加到error.txt,不是只保留当前执行的list内容
如果要改成追加到error.txt,要如何改?????
path = "D:\\error.txt";
writer.setFile(path);
list = .......................
writer.write(list);

---------------------以下是write方法------------
public boolean write(List<String> list) {
System.out.println(file.getAbsoluteFile());
if (file == null || list == null) {
return false;
}

if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}

if (!file.isFile()) {
return false;
}

BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(file));
Iterator<String> it = list.iterator();
while (it.hasNext()) {
writer.write(it.next());
writer.write('\n');
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
writer = null;
}
}
return true;
}
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
easyroom 2010-05-29
  • 打赏
  • 举报
回复
newLine的实现
public void newLine() throws IOException {
write(lineSeparator);
}


这里就跑到文件头,把文件清空了。。。。

你要把
writer.newLine();
改成
writer.append("\n")
sxlcom 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 easyroom 的回复:]
newLine的实现

Java code
public void newLine() throws IOException {
write(lineSeparator);
}


这里就跑到文件头,把文件清空了。。。。

你要把

Java code
writer.newLine();
改成

Java code
writer.append("\……
[/Quote]

我试过了我把writer.newLine();
这行去了也是没用
牛叔 2010-05-28
  • 打赏
  • 举报
回复
给你顶上去。。。
sxlcom 2010-05-28
  • 打赏
  • 举报
回复
改为以下也是这样呀

path = "D:\\error.txt";
writer.setFile(path);
list = .......................
writer.appendWrite(list);
--------------------------

public boolean appendWrite(List<String> list) {
if (file == null || list == null) {
return false;
}

if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}

if (!file.isFile()) {
return false;
}

BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(file));
writer.newLine();
Iterator<String> it = list.iterator();
while (it.hasNext()) {
writer.append(it.next());
writer.append('\n');
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
writer = null;
}
}
return true;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}
梦_枫 2010-05-28
  • 打赏
  • 举报
回复
这个类好象没有append方法。
你在存数据之前可以先把里面的数据取出来,再和现在的数据一起存进去/
fulinkster 2010-05-28
  • 打赏
  • 举报
回复
while (it.hasNext()) {
writer.write(it.next());
writer.write('\n');

}

write改成 append
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL中动态传参和自定义函数: sql中使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery中查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹中多Excel文件并合并解决多文件合并中列顺序不一致使用参数和函数批量导入文件 文本中提取中文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列中的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧