
程序里用jmf插入了音乐,,,eclipse运行没问题...可打包成jar运行后却没有音乐播放,用相对路径
音乐文件放在src下的music下,,,,,,调用音乐是用相对路径...,是不是打包成jar时没吧jmf包打进去呢???万分感谢.!!!万分感谢.!!!...
音乐文件放在src下的music下,,,,,,调用音乐是用相对路径...,是不是打包成jar时没吧jmf包打进去呢???
万分感谢.!!!
万分感谢.!!! 展开
万分感谢.!!!
万分感谢.!!! 展开
展开全部
eclipse打包成jar是没有src这个目录的,所以你应该取得类路径的实际路径,
给你一个测试程序吧,这里dir1就是取得的实际路径,
你上面的路径就应该用类似 dir1+"/music/D15.MID"这样的。
(你注意那个PathTest是我程序的名字,你可以替换成你的类名,如果是非静态的方法,用getClass()方法)
package com.test.my;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class PathTest {
/**
* @param args
* @throws UnsupportedEncodingException
*/
public static void main(String[] args) throws UnsupportedEncodingException {
String dir1=URLDecoder.decode(PathTest.class.getResource("/").getPath(),"UTF-8");
dir1= dir1.startsWith("/")?dir1.substring(1):dir1;
System.out.println(dir1);
File file1=new File(dir1+"/music/IOtest.txt");
System.out.println(file1.exists());
}
}
我的文件能找到,所以最后打印了true
给你一个测试程序吧,这里dir1就是取得的实际路径,
你上面的路径就应该用类似 dir1+"/music/D15.MID"这样的。
(你注意那个PathTest是我程序的名字,你可以替换成你的类名,如果是非静态的方法,用getClass()方法)
package com.test.my;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class PathTest {
/**
* @param args
* @throws UnsupportedEncodingException
*/
public static void main(String[] args) throws UnsupportedEncodingException {
String dir1=URLDecoder.decode(PathTest.class.getResource("/").getPath(),"UTF-8");
dir1= dir1.startsWith("/")?dir1.substring(1):dir1;
System.out.println(dir1);
File file1=new File(dir1+"/music/IOtest.txt");
System.out.println(file1.exists());
}
}
我的文件能找到,所以最后打印了true
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询