java - 从头开始创建 .txt 文件

标签 java python c assembly microcontroller

我正在开发一个微 Controller ,我正在尝试将一些传感器的一些数据写入 SD 卡上的 .txt 文件中,然后将 SD 卡放入读卡器中并在 PC 上读取数据。

有谁知道如何为 FAT32 文件系统从头开始编写 .txt 文件?我没有任何预定义的代码/方法/函数可供调用,我需要从头开始创建代码。

这不是特定编程语言的问题,这就是我标记多个语言的原因。稍后我可以将代码从 C 或 Java 转换为我选择的编程语言。但我似乎无法在任何类型的语言中找到如此低级的方法/函数:)

有什么想法吗?

最佳答案

FatFs相当不错,而且便携性很高。它支持 FAT12、FAT16 和 FAT32、长文件名、查找、读取和写入(其中大部分功能可以打开和关闭以更改内存占用)。
如果你的内存确实紧张,还有 Petit FatFs,但它默认不支持写入,添加它需要一些工作。

mounting之后您只需open的驱动器一个文件来创建它。例如:

FATFS fatFs;
FIL newFile;

// The drive number may differ 
if (f_mount(0, &fatFs) != FR_OK) {
  // Something went wrong
}

if (f_open(&newFile, "/test.txt", FA_WRITE | FA_OPEN_ALWAYS) != FR_OK) {
  // Something went wrong
}
<小时/>

如果您确实需要仅使用自己的代码创建文件,则必须遍历 FAT,查找空白空间,然后创建新的 LFN 条目(存储文件名的位置)和 DIRENT(指定簇上的簇)将保存文件数据的磁盘)。
我看不出这样做的任何理由,除非这是某种家庭作业/实验室练习。无论如何,你应该做一些reading about the FAT structure首先,开始后返回一些更具体的问题。

关于java - 从头开始创建 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15860135/

相关文章:

java - String#replaceAll() 替换 *除 =* 组之外的任何内容

python - 如何定义和创建用于 Flask-Login 的用户模型?

python - 在 python 中查找所有窗口的 exe 路径

c - 如何在open mp的for循环中解析 "return 0 or return 1"?

java - 从命令选项卡应用程序切换器隐藏 Java 应用程序并停靠在 OSX 中

java - 将Java连接到MySQL数据库

c++ - 一次打印从套接字接收到的一个字符

c - c tcp中的套接字

java - 加入查询在 Hibernate 中不起作用

python - 在 Pandas 中连接两个大型数据集的最佳方法