Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java id3tag重复mp3文件_Java_Id3 - Fatal编程技术网

java id3tag重复mp3文件

java id3tag重复mp3文件,java,id3,Java,Id3,我使用jid3tag库修改mp3文件的元数据。 当我保存修改后,它会复制mp3文件,创建一个“songtitle.mp3”和一个“songtitle.original.mp3”。 我的问题是:如何修改mp3文件而不复制它 这是我的密码: TagOptionSingleton.getInstance().setDefaultSaveMode(TagConstant.MP3_FILE_SAVE_OVERWRITE); AbstractID3v2 id3v2= new ID3v2_4();

我使用jid3tag库修改mp3文件的元数据。 当我保存修改后,它会复制mp3文件,创建一个“songtitle.mp3”和一个“songtitle.original.mp3”。 我的问题是:如何修改mp3文件而不复制它

这是我的密码:

TagOptionSingleton.getInstance().setDefaultSaveMode(TagConstant.MP3_FILE_SAVE_OVERWRITE);
    AbstractID3v2 id3v2= new ID3v2_4();
    // setup id3v2
    AbstractID3v2Frame frame;
    AbstractID3v2FrameBody frameBody;

    frameBody = new FrameBodyTIT2((byte) 0, "songTitle");
    frame = new ID3v2_4Frame(frameBody);
    ((AbstractFrameBodyTextInformation) frame.getBody()).setText(metatitle);
    id3v2.setFrame(frame);
    mp3file.setID3v2Tag(id3v2);
    try {
        mp3file.save();

        } catch (IOException | TagException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

谢谢

谢谢,我没有找到解决办法

因此,我只是使用文件类删除文件,如下所示:

 try {
        mp3file.save(TagConstant.MP3_FILE_SAVE_OVERWRITE);
        String p = destFile.getPath();
        String[] s = p.split(".mp3");
        Path path = Paths.get(s[0]+".original.mp3");
        System.out.println(path);
        Files.deleteIfExists(path);

        } catch (IOException | TagException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

这是Mp3File.save()的默认行为。尝试传递要保存的原始文件名:Mp3File.save(“songtitle.mp3”)谢谢,我尝试了,但仍然复制了该文件。我也尝试了Mp3File.save(“songtitle.mp3”,tagconstant.mp3\u file\u save\u overwrite);仍然不起作用尝试此
mp3file.save(TagConstants.MP3\u FILE\u save\u OVERWRITE)
此方法:是的,我已经尝试过了,但文件仍然重复