java获取音乐文件的信息_Java获取音乐文件艺术家,歌曲名,所属专辑等信息

/**

* 获取MP3文件信息

*

* @param musicFile

* MP3文件对象

*/

private void getMusicInfo(File musicFile) {

try {

RandomAccessFile randomAccessFile = new RandomAccessFile(musicFile,"r");

byte[] buffer = new byte[128];

randomAccessFile.seek(randomAccessFile.length() - 128);

randomAccessFile.read(buffer);

if (buffer.length == 128) {

String tag = new String(buffer, 0, 3);

// 只有前三个字节是TAG才处理后面的字节

if (tag.equalsIgnoreCase("TAG")) {

// 歌曲名

String songName = new String(buffer, 3, 30).trim();

// 艺术家

String artist = new String(buffer, 33, 30).trim();

// 所属唱片

String album = new String(buffer, 63, 30).trim();

// 发行年

String year = new String(buffer, 93, 4).trim();

// 备注

String comment = new String(buffer, 97, 28).trim();

System.out.println(songName + "\t" + artist + "\t" + album

+ "\t" + year + "\t" + comment);

} else {

System.out.println("无效的歌曲信息...");

}

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取文件的元数据,可以使用Java中的java.nio.file.Files类和java.nio.file.attribute.BasicFileAttributes接口。下面是一个示例代码,可以获取文件的所有者和其他元数据信息: ``` import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.FileOwnerAttributeView; import java.nio.file.attribute.UserPrincipal; public class FileMetadataExample { public static void main(String[] args) throws Exception { Path path = Paths.get("path/to/file"); BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class); FileOwnerAttributeView ownerAttributeView = Files.getFileAttributeView(path, FileOwnerAttributeView.class); UserPrincipal owner = ownerAttributeView.getOwner(); System.out.println("Owner: " + owner.getName()); System.out.println("Creation Time: " + attributes.creationTime()); System.out.println("Last Accessed Time: " + attributes.lastAccessTime()); System.out.println("Last Modified Time: " + attributes.lastModifiedTime()); System.out.println("Is Directory: " + attributes.isDirectory()); System.out.println("Is Regular File: " + attributes.isRegularFile()); System.out.println("Is Symbolic Link: " + attributes.isSymbolicLink()); System.out.println("Size: " + attributes.size()); } } ``` 在上面的代码中,我们首先使用Paths.get()方法创建Path对象,然后使用Files.readAttributes()方法和BasicFileAttributes.class参数来读取文件的基本属性。接下来,我们使用Files.getFileAttributeView()方法和FileOwnerAttributeView.class参数来获取文件的所有者属性视图,然后使用getOwner()方法获取文件的所有者信息。最后,我们输出获取到的所有元数据信息。 注意:获取文件元数据需要访问文件系统,有可能会抛出IOException异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值