TC官方合作论坛

标题: 文本文件创建和追加文本的问题 [打印本页]

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

变量 线程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
  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 11:58
变量 cj=文件创建("e:\\tmp\\output.txt","共享读|共享写")
作者: mqzjy    时间: 2015-10-7 21:13
感谢大侠出手相助!




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1