非常に奇妙な問題があります。JavaコードとJLayerを使用してMP3を再生しようとしています。ファイルパスを生成するためのメソッド設定がありますが、それは私に多くの悲しみを与えています。returnステートメント(およびメソッドに含まれるすべてのコード)は次のとおりです。
private static String findSoundFile(String numSeq)
{
return "file:///Users/user/Desktop/FinishedPhone/" + numSeq + ".mp3"
}
私はおそらく1.mp3、2.mp3などの名前の約150のmp3ファイルのセットを持っています。それらは約156になります(間にいくつかの欠落があります)。3桁のコードのユーザー入力に基づいて、サウンドの1つを再生します。このコードは、 1〜99の範囲で問題なく機能し、100に達すると機能しなくなります。ユーザーが100または110、あるいはあなたが持っているものを打ち込むと、JavaはFileNotFoundExceptionをスローします。確かに、ファイルはそこにあります。findSoundFileによって返されるファイルパスを使用するコードは次のとおりです。
public static void processNumberSequence(String numSeq) throws IOException
{
if (numSeq != "")
{
String soundLoc = findSoundFile(numSeq);
File file = new File(soundLoc);
System.out.println("System can read: " + file.canRead());
System.out.println(soundLoc);
SoundPlayer soundToPlay = new SoundPlayer(soundLoc);
soundToPlay.play();
}
}
次のように、numSeqが入力するはずのスペースに入力すると、さらに奇妙になります。
private static String findSoundFile(String numSeq)
{
return "file:///Users/user/Desktop/FinishedPhone/110.mp3";
}
上記のコードは正常に動作し、電話を切らずにサウンドを再生します。どんなアイデアでも大歓迎です、そして何か混乱がないか尋ねてください。
スタックトレース:
java.io.FileNotFoundException: /Users/user/Desktop/FinishedPhone/111.mp3 (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
at java.net.URL.openStream(URL.java:1010)
at SoundPlayer.play(SoundPlayer.java:26)
at SerialProcessor.processNumberSequence(SerialProcessor.java:37)
at SerialTest.serialEvent(SerialTest.java:98)
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732)
at gnu.io.RXTXPort.eventLoop(Native Method)
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
いずれかのファイルのls-l:
-rw-r--rw- 1 user staff 432923 Feb 27 14:15 /Users/user/Desktop/FinishedPhone/111.mp3
100未満の場合はls-l:
-rw-r--rw- 1 user staff 480570 Feb 25 20:43 /Users/user/Desktop/FinishedPhone/99.mp3