Java 我能有一个只有文本和声音文件的数据库吗?

Java 我能有一个只有文本和声音文件的数据库吗?,java,sql,database,oracle,database-design,Java,Sql,Database,Oracle,Database Design,我不熟悉数据库处理。我正在用Java创建一个卡拉OK播放器,我需要一个数据库。我不必直接从硬盘获取材料声音和文本文件,但我需要一个数据库SQL Server、Oracle等来存储它们,这样我就可以拥有一个对象,可以引用/指向它们。有可能吗 public class SoundPlayer extends JComponent { String windowName; Clip clip;Clip clip2; public static void main(String[] args) thr

我不熟悉数据库处理。我正在用Java创建一个卡拉OK播放器,我需要一个数据库。我不必直接从硬盘获取材料声音和文本文件,但我需要一个数据库SQL Server、Oracle等来存储它们,这样我就可以拥有一个对象,可以引用/指向它们。有可能吗

public class SoundPlayer extends JComponent
{

String windowName;
Clip clip;Clip clip2;
public static void main(String[] args) throws UnsupportedAudioFileException,     
IOException, LineUnavailableException, InterruptedException
{


JFrame f=new JFrame("hh");
f.getContentPane();

       f.pack();
f.setVisible(true);
}
private String String;

public SoundPlayer(File file) throws UnsupportedAudioFileException, IOException,  LineUnavailableException, InterruptedException {
   AudioInputStream ain=AudioSystem.getAudioInputStream(file);
   try
   {
       DataLine.Info info=new DataLine.Info(Clip.class,ain.getFormat());

       AudioFormat inFormat = ain.getFormat();
               clip=(Clip) AudioSystem.getLine(info);
//rest code

该对象应该在我的程序中可用,以便我可以访问它。

是的,可以查看Oracle和JDBC中的BLOB支持,但普遍接受的方法是将文件存储在文件系统中,然后将文件路径存储在数据库中

因为看起来您正在编写一个桌面应用程序,所以您必须考虑如何访问这些信息。如果这是一个带有本地数据库的单用户应用程序,那么您可以处理本地文件系统中的文件和数据库中的路径

如果这是一个具有共享数据库的多用户系统,那么您可能需要创建一个服务器来处理来自桌面应用程序的请求。它可以在数据库中查找路径,获取文件,然后将其返回到桌面应用程序。

当然可以

您可以在数据库中存储任何类型的值,甚至可以存储物理文件中的原始二进制数据

您可以创建如下实体,这只是T-SQL中的一个示例:

CREATE TABLE Singer{
ID int primary key,
Name varchar(50),
}

CREATE TABLE Songs{
ID int primary key,
IDSinger int references Singer(ID),
Title varchar(50),
Content varbinary(max) --here goes the raw binary of your file
}

是的,你可以。Blob类型用于此目的。我想您的数据将存储为字节数组。创建一些表。其中一个将有一个BLOB类型的列。这将包含一个文件的数据。@Nambari,randy,你们能扩展一下吗?我是新来的。.我不推荐从哪里开始。我会将所有音频文件直接存储到文件系统中,并且只在数据库中存储文件路径和其他信息。你可以读这两个线程:可能的重复谢谢:嗯,这篇文章的y-1?我是不是很傻?+1例如。我如何在java中访问它们?你必须学习如何使用JDBC提供程序。JDBC为您提供了一层对象来管理数据库连接和发出命令。我不能更准确地帮助你,因为我不是一个爪哇男孩: