Как изменить значение объекта java Path? - PullRequest
0 голосов
/ 06 марта 2020

Ниже я пытаюсь изменить значение объекта Path там с помощью метода setSoundPath (). Я не могу найти документацию, подтверждающую, что это возможно.

Я пытаюсь создать класс, который будет создавать копию файла по указанному пути и помещать копию в указанную папку. Мне нужно иметь возможность изменить имя пути, потому что я хочу создать звуковой объект с исходным путем файла-заполнителя.

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
import java.io.IOException;
import javafx.beans.property.StringProperty;
import javafx.beans.property.SimpleStringProperty;

class Scratch {

    public static class Sound extends Object{

        private Path there;
        StringProperty tests = new SimpleStringProperty(this, "test", "");

        public Sound(){
            this.there = Paths.get("C:\\Users\\HNS1Lab.NETWORK\\Videos\\JuiceWRLD.mp3");
        }

        public void setSoundPath(String SoundPath) {
            this.tests.setValue(SoundPath);
            this.there = Paths.get(this.tests.toString());
        }
    }

    public static void main(String[] args) {
            Sound test = new Sound();

            test.setSoundPath("C:\\Users\\HNS1Lab.NETWORK\\Music\\Meowing-cat-sound.mp3");
            test.copySound();
            System.out.println("Path: " + test.getSoundPath().toString());
    }

}

1 Ответ

1 голос
/ 06 марта 2020

Они неизменяемы :

Реализации этого интерфейса неизменны и безопасны для использования несколькими параллельными потоками.

(из: https://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html)

Вы можете создавать новые объекты Path, которые указывают на ваш путь.

...