java在JVM之外获取数据
我很想知道是否有可能将其他应用程序中的数据提取到我的Java程序中。我知道java是在虚拟环境中运行的,因此是JVM,因此在与其他应用程序通信时会出现问题,除非您使用Robot类等等
对于初学者来说,我想做的是作为教育目的,使用Spotify/iTunes这样的音乐应用程序,获取播放列表(文本数据)并将其发送/显示在文本文件中。到目前为止,我已经尝试了一些方法,唯一接近的方法是使用Robot类,打开应用程序,执行Ctrl+a,将其粘贴到文本文档中等等,但这更像是一个宏。我想制作一个java应用程序来自动完成这项工作。这在Java中是可能的,还是改变语言更好?不过,我希望用Java来实现这一点,因为这是我在过去一年中学习的语言,也是我正在努力掌握的语言。(很抱歉解释得太长了。)
# 1 楼答案
这与Java和JVM无关。对于这种情况,任何语言都有相同的问题和解决方案
你需要与之交谈的东西必须为你提供一种与之交谈的方式。你需要用那种方式跟它说话
方法包括管道、自定义网络协议、SOAP和Restful web服务等
# 2 楼答案
您需要知道哪些数据接口提供了要连接的应用程序
例如,应用程序可能会将文件写入磁盘或在数据库中存储一些信息
然后使用Java,您可以读取文件、查询数据库、使用API(web服务、REST等)等等
# 3 楼答案
应用程序在虚拟机中运行并不意味着它无法通过外部程序提供的API访问外部数据。例如,iTunes有一个COM-based API for accessing playlists,下面是一个using it from C#的例子。你需要一些允许accessing COM objects from Java的东西
(请注意,我对这个话题一无所知,这只是我通过搜索发现的…)