从头开始创建.txt文件

时间:2013-04-07 07:54:31

标签: java python c assembly microcontroller

我正在研究微控制器,我正试图将一些传感器的一些数据写入SD卡上的.txt文件,然后将SD卡放入读卡器并读取PC上的数据。 / p>

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

这不是特定编程语言的问题,这就是为什么我标记了多个。我以后可以将代码从C或Java转换为我选择的编程语言。但我似乎无法在任何类型的语言中找到这种低级别的方法/功能:)

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

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条目(存储文件名的地方)和DIRENTs(指定磁盘上将保存文件数据的簇。)我看不出这样做的原因,除非这是某种功课/实验练习。在任何情况下,您都应该首先执行一些reading about the FAT structure,并在您开始使用时返回一些更具体的问题。

答案 1 :(得分:1)

在JAVA中你可以这样做

Writer output = null;
String text = "This is test message";
File file = new File("write.txt"); 
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();  
System.out.println("Your file has been written");