我正在尝试为我的学校项目为基于Java的音乐播放器创建CD刻录功能。由于我是现实生活中的新编程(我只学会在AP计算机科学A级编写代码),我不知道如何将我从APCS A学到的概念应用于此任务。
我的一位正在研究生院学习计算机科学的朋友告诉我“查看cd播放器控制功能并在这些类中添加方法来读取你要写入CD的数据,将其写入缓冲区将缓冲区中的所有内容写入CD本身,清除缓冲区,然后将一大块新数据写入缓冲区,“但我无法理解这意味着什么,现在很难联系她,因为她很忙致力于她的论文。来自这个论坛的人可以引导我通过&解释一般概念?谢谢!
答案 0 :(得分:1)
你可能想找到一个好的CD burning library such as this one或任何其他的 - 只要确保它适用于你将要制作的任何操作系统。您可能无法直接从Java执行此操作(至少我不知道用Java本地写入CD的任何方法)但您可以在(例如C ++)中执行此操作,然后使用{{3调用它。 JNI允许您从Java中调用C ++代码。
答案 1 :(得分:1)
更简单的解决方案是为开源cdrtools编写前端。
答案 2 :(得分:1)
JIIC:Java ISO Image Creator
JIIC是ISO 9660的基于流的Java实现,用于创建具有扩展El Torito,Joliet和Rock Ridge的CD-ROM文件系统映像(“ISO映像”)。它基于SABRE流API,并提供Ant任务,以便轻松集成到基于Java的构建过程中。 ISO 9660
1988年的ISO 9660标准描述了用于CD-ROM的文件系统。 ECMA-119(第2版)完全等同于ISO 9660.适用了一些限制,包括字符集,深层目录嵌套和文件名长度。结果,开发了诸如El Torito(可引导CD-ROM),Joliet(Unicode,较长文件名)和Rock Ridge(支持UNIX文件系统特性)的扩展。 SABER
二进制表达的简单API(SABRE)由德国达姆施塔特技术大学的Michael Hartle开发。它引入了一个基于Java的流API,用于通过一组充当管道的模块来处理二进制数据(而不是像XML这样的文本表示)。阅读文章了解详情或访问其网站。 JIIC
JIIC是我在达姆施塔特理工大学计算机科学系,Telecooperation Group的毕业论文的实际部分的结果。该毕业论文由SABER开发人员MaxMühlhäuser博士和Michael Hartle教授监督。
JIIC和SABER是在JAR文件中打包在一起的一组Java 1.4类。 JIIC和SABRE源代码根据LGPL许可。 JIIC可从SourceForge的CVS,SABER获得。 下载 JIIC 1.1.2
All-in-one package
Updated test suite
JIIC 1.1.1
All-in-one package
Updated test suite
JIIC 1.1
All-in-one package
JIIC 1.0
ISO9660 JAR
SABRE JAR
ISOtest class
Test suite
更新日志
JIIC 1.1.2
added support for long Joliet file names (up to 103 Unicode characters instead of 64, disabled by default) like mkisofs's -joliet-long option, as requested by Nigel Tamplin
JIIC 1.1.1
fixed Joliet file name length check bug, reported by Alessandro Premoli and Christof Nef
JIIC 1.1 "JNode edition"
Incorporated a patch by Gilles "Wooden" Duboscq for adding support for patching the El Torito boot image (like mkisofs -boot-info-table) and padding the ISO image to 150 sectors (like mkisofs -pad). See build.xml for the new options.