[英]Unsure how to access a file through its location
根據下面的示例,我計算機上的類位置為C:\\ Users \\ daniel \\ Desktop \\ Prototype2 \\ src \\ examples \\ WavAppender.java
如果將wav文件放在相同的示例目錄中,如何更改以下代碼?
import java.io.File;
import java.io.IOException;
import java.io.SequenceInputStream;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
public class WavAppender {
public static void main(String[] args) {
String wavFile1 = "D:\\wav1.wav";
String wavFile2 = "D:\\wav2.wav";
try {
AudioInputStream clip1 = AudioSystem.getAudioInputStream(new File(wavFile1));
AudioInputStream clip2 = AudioSystem.getAudioInputStream(new File(wavFile2));
AudioInputStream appendedFiles =
new AudioInputStream(
new SequenceInputStream(clip1, clip2),
clip1.getFormat(),
clip1.getFrameLength() + clip2.getFrameLength());
AudioSystem.write(appendedFiles,
AudioFileFormat.Type.WAVE,
new File("D:\\wavAppended.wav"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
這取決於執行目錄的執行位置。 如果它是示例目錄,那么您的.java文件也很簡單:
new File("wavAppended.wav");
您可以使用絕對路徑或相對路徑來獲取文件。
大多數人會認為絕對值不是必需的甚至有害的,因為它們很容易破壞您的程序。 我的意見是,它們更易於使用,您可以將它們用作確保程序正常工作的第一步。
無論如何,絕對版本將是:
"C:\\Users\\daniel\\Desktop\\Prototype2\\src\\examples\\wav?.wav"
要么
"C:/Users/daniel/Desktop/Prototype2/src/examples/wav?.wav"
相對路徑是
"examples\\wav?.wav"
要么
"examples/wav?.wav"
因為您的根路徑是"C:/Users/daniel/Desktop/Prototype2/src/"
將文件放在與執行程序相同的目錄中,文件名可以簡單地
String wavFile1 = "wav1.wav";
您可以使用相對路徑
private String filename = "./src/examples/wav1.wav";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.