我有一个非常奇怪的问题,我正在尝试使用一些Java代码和JLayer播放一些MP3。我有一个方法设置来生成文件路径,但这给我带来了很多痛苦。这是return语句(以及该方法涉及的所有代码):
private static String findSoundFile(String numSeq)
{
return "file:///Users/user/Desktop/FinishedPhone/" + numSeq + ".mp3"
}
我有一组大约150个mp3文件,它们分别名为1.mp3、2.mp3等。它们最多可达156个(之间缺少一些文件)。根据用户输入的3位数代码,它会播放一种声音。这段代码可以
完美地
工作在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
ls -l表示100以下:
-rw-r--rw- 1 user staff 480570 Feb 25 20:43 /Users/user/Desktop/FinishedPhone/99.mp3
您的numSeq有问题。尝试像这样修剪
return "file:///Users/user/Desktop/FinishedPhone/" + numSeq.trim() + ".mp3
我有一个应用程序,它在根文件夹的lib文件夹中加载一个jar文件,当我把这个根文件夹放在C:\或C:\someFolder中时,它工作得很好,但当我把它放在“程序文件(x86)”中时,它返回了FileNotFoundException,即使在管理模式下已经存在并正在运行cmd。 我得到System.out.println来调试信息并返回正确的路径。 从应用程序中使用println的Stacktra
我在CS课上有一个作业,它说要阅读一个包含几个考试分数的文件,并要求我对它们进行求和和平均。虽然求和和平均很容易,但我在文件读取方面遇到了问题。讲师说要使用这个语法 但是,这会抛出,但是我已经反复检查了该文件是否存在于当前文件夹中,在此之后,我认为它必须使用权限执行某些操作。我更改了每个人的读写权限,但它仍然不起作用,它仍然抛出错误。有人知道为什么会发生这种情况吗? 编辑:它实际上指向了一个目录,
尽管如此,我还是得到了例外。我已经用上面的三个文件进行了尝试。该文件也没有在任何地方打开,所以它应该是可读的。我已经花了一个多小时在一个简单的文件名规范上,所以我在这一点上非常紧张。 这里有个例外:
问题内容: 我正面临着这个奇怪的问题。 我正在尝试读取位于另一台计算机上的文件作为共享资源: 当我运行一个独立的应用程序(一个16行的Java文件)时,一切都很好。但是,当我尝试使用服务器“引擎”(这是一个应用程序引擎,非常类似于可以运行Java程序的Java EE Application Server)使用相同的类和相同的方法读取相同的文件时,“ FileNotFoundException”被抛
问题内容: 我有一个CS课的作业,它说要读取一个包含多个测试成绩的文件,并要求我对其求和并求平均值。虽然求和平均很容易,但是我在读取文件时遇到了问题。讲师说要使用这种语法 但是,这会引发FileNotFoundException,但是我一遍又一遍地检查了该文件是否存在于当前文件夹中,然后,我发现它必须对权限进行处理。我更改了所有人的读写权限,但是它仍然无法正常工作,并且仍然不断抛出错误。有谁知道为
问题内容: 上面是我的代码(并且我也有错误的图片:http : //folk.uio.no/arnabkd/test/images/error-code- task.jpg 如您所见,该txt文件与StormAnalysis.java文件位于同一文件夹中。另外,如果我将文件路径更改为“ weather.dat”(作为另一个任务/问题给出),该代码将起作用。 任何想法将不胜感激! 问题答案: 该文件