JAVA 相对路径取不到文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 相对路径取不到文件?相关的知识,希望对你有一定的参考价值。
import javax.swing.*;
import java.net.URL;
import java.applet.*;
public class DisplayImagePlayAudio extends JApplet
private AudioClip audioClip;
public DisplayImagePlayAudio()
URL urlForImage = getClass().getResource("/image/denmark.gif");
add(new JLabel(new ImageIcon(urlForImage)));
URL urlForAudio = getClass().getResource("/audio/denmark.mid");
audioClip = Applet.newAudioClip(urlForAudio);
audioClip.loop();
public void start()
if (audioClip != null) audioClip.loop();
public void stop()
if (audioClip != null) audioClip.stop();
/** Main method */
public static void main(String[] args)
// Create a frame
JFrame frame = new JFrame("DisplayImagePlayAudio");
// Create an instance of the applet
DisplayImagePlayAudio applet = new DisplayImagePlayAudio();
applet.init();
// Add the applet instance to the frame
frame.add(applet, java.awt.BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Display the frame
frame.setSize(200, 500);
frame.setVisible(true);
报错:Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at DisplayImagePlayAudio.<init>(DisplayImagePlayAudio.java:11)
at DisplayImagePlayAudio.main(DisplayImagePlayAudio.java:32)
PS: 我的audio文件夹和image文件夹是和src同级目录
"/image/denmark.gif" 改为"image/denmark.gif"试试看
"/audio/denmark.mid"改为"audio/denmark.mid"
试试看吧!追问
试过了。。也不行
追答URL urlForImage = getClass().getResource("/image/denmark.gif");
换成URL urlForImage = this.getClass().getClassLoader().getResource("image/denmark.gif");
URL urlForAudio = getClass().getResource("/audio/denmark.mid");
换成URL urlForAudio = this.getClass().getClassLoader().getResource("audio/denmark.mid");
试试看
我把你的程序复制出来运行是没问题的啊!你是用eclipse编写的么?
我把你程序导入eclipse里运行了错误一样,你需要把audio和image文件夹放入到src目录下才能找到文件,文件需要和源文件在同一目录下,以后导入你要的文件时先选中src后再导入,就在同一目录下了!
B中的类?
是指 DisplayImagePlayAudio 这个类吗?
读取的代码怎么改呢?
谢谢了,程序文件是在src下面
刚试了把image和audio文件夹放在bin目录下就ok了。。
C语言里面如何设置相对路径
比如:
函数fp=fopen("C:\\sample.txt","r")
如何直接变成当前相对路径?
好像不能用fp=fopen("..\\sample.txt","r"),执行结果是找不到文件。
比如
fp=fopen(".\\sample.txt","r")
或者直接
fp=fopen("sample.txt","r")
而且,当前路径最好用 GetCurrentDirectory检查一下,是否正确了。
如果是控制台程序,当前路径应该是你敲入命令行的路径 参考技术A 用fp=fopen("sample.txt","r")就可以了
以上是关于JAVA 相对路径取不到文件?的主要内容,如果未能解决你的问题,请参考以下文章