TC官方合作论坛

 找回密码
 立即注册
查看: 352|回复: 3
打印 上一主题 下一主题

[已解决] 文本文件创建和追加文本的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-7 10:17:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
想做一个小程序,实现把一个文本文件的每一行读取出来,然后对每一行进行处理之后再保存到一个新的目标文件中.结果出现在个问题:如果创建一个新的目标文件,那么,在后续的追加文本过程中,发现一行也没有追加上去.目标文件是空的.但是如果再次运行它,也就是在目标文件已经存在的情况下,是可以正常进行追加的,不知道是为什么,请哪位大侠帮助指点!

变量 线程ID
//从这里开始执行
功能 执行()
     变量 文件行数,输入文件="e:\\tmp\\2011.txt",行内容      //2011.txt为一个有40行内容的文本文件.
    如果(文件是否存在(输入文件))
            变量 cj=文件创建("e:\\tmp\\output.txt","rw")    //获取创建文件句柄
            文件行数=文件获取行数(输入文件)
        调试输出(文件行数)
        for(变量 i=0;i<=文件行数;i++)
            行内容=文件读指定行(输入文件,i)
            文件追加文本("e:\\tmp\\output.txt",行内容)
        end
        文件关闭(cj)
    否则
        消息框("输入文件不存在!")
    结束
结束
//启动_热键操作
功能 启动_热键()
    线程ID=线程开启("执行","")
结束
//终止热键操作
功能 终止_热键()
    线程关闭(线程ID)
结束

回复

使用道具 举报

沙发
发表于 2015-10-7 11:42:57 | 只看该作者
  1. 变量 线程ID

  2. 功能 执行()
  3.     变量 文件行数,输入文件="e:\\tmp\\2011.txt",行内容      //2011.txt为一个有40行内容的文本文件.
  4.     如果(文件是否存在(输入文件))
  5.         变量 cj=文件创建("e:\\tmp\\output.txt","rw")    //获取创建文件句柄
  6.         如果(cj==-1)
  7.             消息框("该文件已存在,无法重复创建")
  8.             返回 假
  9.         结束
  10.         
  11.         文件行数=文件获取行数(输入文件)
  12.         调试输出(文件行数)
  13.         for(变量 i=0;i<=文件行数;i++)
  14.             行内容=文件读指定行(输入文件,i)
  15.             文件末尾写字符(cj,行内容&"\r\n")
  16.         end
  17.         文件关闭(cj)
  18.     否则
  19.         消息框("输入文件不存在!")
  20.     结束
  21. 结束

  22. 功能 启动_热键()
  23.     线程ID=线程开启("执行","")
  24. 结束

  25. 功能 终止_热键()
  26.     线程关闭(线程ID)
  27. 结束
复制代码
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2015-10-7 21:13:25 | 只看该作者
感谢大侠出手相助!
回复 支持 反对

使用道具 举报

板凳
发表于 2015-10-7 11:58:58 | 只看该作者
变量 cj=文件创建("e:\\tmp\\output.txt","共享读|共享写")
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-19 13:41 , Processed in 0.181828 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表