aardio - 文件尾部追加图片
一、本文功能需要两个程序:
1、被写入图片的exe,启动后读取自身尾部图片数据并显示。
2、执行写入操作的exe,往被写入exe尾部添加图片数据。
二、被写入端代码:
import win.ui;
/*DSG{{*/
mainForm = win.form(text="被写入端";right=489;bottom=319)
mainForm.add(
plus={cls="plus";left=10;top=10;right=480;bottom=310;edge=1;z=1}
)
/*}}*/mainForm.show();
import fsys.file
var file = fsys.file(io._exepath,"r"); // 打开文件自身file.seek("end",-4);
var flag = file.read(-1); // 读取追加标记,
if flag == "APND" { // 如果末尾不是"APND"则代表未被追加file.seek("end",-8);var len = file.read({int number}).number; // 读取追加的数据长度if len {file.seek("end",-8-len)var pic = file.read(len); // 读取追加的数据mainForm.plus.foreground = pic; //显示数据}
}
file.close(); // 关闭文件句柄
return win.loopMessage();
被写入前运行效果:
被写入后运行效果:
三、写入端代码:
import win.ui;
/*DSG{{*/
mainForm = win.form(text="追加图片";right=757;bottom=467)
mainForm.add(
button={cls="button";text="选择图片";left=470;top=80;right=700;bottom=170;z=2};
button2={cls="button";text="追加到文件尾部";left=470;top=230;right=700;bottom=320;z=3};
plus={cls="plus";left=60;top=40;right=430;bottom=350;z=1}
)
/*}}*/var picfile;
mainForm.button.oncommand = function(id,event){import fsys.dlgpicfile = fsys.dlg.open("*.*","请选择图片文件")mainForm.plus.foreground = picfile;
}
mainForm.button2.oncommand = function(id,event){if !picfile return win.msgbox("先选图片");import fsys.dlgvar exefile = fsys.dlg.open("*.exe|*.exe","请选择exe文件");if exefile {var pic = ..string.load(picfile);import fsys.file;var file = fsys.file(exefile,"a+");file.seek("end");file.write(pic);//图片数据file.writeBuffer(raw.buffer({int v=#pic})); //数据长度file.write("APND"); //被追加标记file.close();win.msgbox("写入完毕,将运行目标exe文件");import processprocess(exefile);}
}
mainForm.show();
return win.loopMessage();
四、流程:
1、编译“被写入端”为exe文件,暂且命名为“被写入端.exe”
2、运行写入端,选择要追加的图片:
3、点击“追加到文件尾部”,选择“被写入端.exe”完成追加。
五、其他:
1、可多次追加,多次读取。感兴趣的可自己进行改造。
2、可对追加数据进行加密、解密操作。
aardio - 文件尾部追加图片相关推荐
- java在文件尾部写文件_Java在文件尾部追加内容
import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; /** * 将内容追加到 ...
- Java多种方式读文件,追加文件内容,等对文件的各种操作
一.多种方式读文件内容.1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader;import java. ...
- Linux 命令之 tail -- 在屏幕上显示指定文件的末尾若干行/显示文件尾部内容/查看文件尾部内容
文章目录 一.命令介绍 二.常用选项 三.参考示例 (一)显示文件 file 的最后 10 行 (二)显示文件 file 的内容,从第 20 行至文件末尾 (三)显示文件file的最后10个字符 (四 ...
- linux中的head 显示文件头部内容、tail 输出文件尾部内容
1.2.14 head 显示文件头部内容 head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容 head 文件 (功能描述:查看文件头10行内容) head -n ...
- Linux基础命令----tail 查看文件尾部内容
描述 tail命令用于输入文件中的尾部内容 tail命令默认在屏幕上显示指定文件的末尾10行 如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题 例如:==> head-help.t ...
- tail命令 – 查看文件尾部内容
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行.如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题.如果没有指定文件或者文件名为"-",则读取标准 ...
- 文件IO实现图片的加密操作
目录 1.什么是文件IO 2.什么是文件描述符 3.文件相关系统调用函数 (1)打开关闭文件 文件打开open(): 文件关闭close() (2)读写文件 读文件read() 写文件write() ...
- 本地markdown文件自动生成|图片批量压缩并转base64格式|告别图床服务器|博文神器
一.项目简介 问题来源 每次本地写好markdown格式的文档后,想要将它上传到博客网站上,但是本地的图片无法直接复制到网站的博客页面,每个图片需要重新点击上传,然后上传本地文件.其实也可以买一个图床 ...
- java 批量写入文件_Java批量写入文件和下载图片的示例代码
很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的,但是想把日记存下来.,然后看到有导出日记的功能,就把日记导出了(还好可以直接导出,不然就麻烦点).导出的是一个html ...
最新文章
- 给 Windows 驱动程序安装提速
- python字符串命名_从输入字符串到命名复制python 2.7
- 通过apt自动生成建造者模式单线程版代码(三)
- jenkins报错Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 的处理
- SpringMVC Controller单例和多例
- C++的inline函数
- 【转载】索引的一些总结
- 数据接口的登录态校验以及JWT
- java公寓管理系统设计与实现_宿舍管理系统设计与实现
- 【Linux】vi编辑器命令
- 计算机组成原理随笔(一)
- 三星Galaxy S11+电池谍照曝光:5000mAh超大容量 5G 不虚
- python绘制小猪佩奇
- ABBYY Lingvo European for Mac(万能词典)
- vscode remote 离线环境搭建
- 系统安全性分析与设计
- 推荐一款HTML在线编辑器
- 微信小程序注册流程图文详解
- 数据嗨客 | 第6期:不平衡数据处理
- SLAM④----李群与李代数
热门文章
- 基于springboot的社区养老系统(养老院)
- 腾讯微博平台开发,熟悉API结构,获得头像本地保存
- 打开chm手册显示已取消到该网页的导航 chm打开无内容 提示重新键入地址
- 基于matlab和FFT算法实现信号频谱分析
- 阿里P7 java架构师 springcloud、jvm、netty 、redis、数据结构、分布式高并发 视频 下载分享
- 如何在不插电源合盖的情况下,让mac book pro连接显示器键盘持续使用
- 全面详细介绍Linux 虚拟文件系统(VFS)原理
- hx711基准电压_hx711基本原理讲解
- java面向对象 程序设计题_java面向对象程序设计练习题
- SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器