`

java中调用图片音频等文件的相对路径问题

    博客分类:
  • java
阅读更多
import javax.swing.ImageIcon;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.applet.Applet;
import java.applet.AudioClip;

/**
*
* <p>Title: 获取资源</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2008</p>
* <p>Company: </p>
* @author landix
* @version 1.0
*/
public class ResourceManager {
    //系统图片路径
    private static String IMAGE_RESOURCE_PATH = "com/landix/oamq/client/images/";
    //系统音频路径
    private static String SOUND_RESOURCE_PATH = "com/landix/oamq/client/sound/";
    //系统文件路径
    private static String FILE_RESOURCE_PATH = "";
    
    private ResourceManager() {
    }
    
    public static ImageIcon getIcon(String imageName) {
       if (imageName == null) return(null);
       ImageIcon icon = null;
       try {
                //通过类加载器加载图片资源,作为图标对象的参数
           icon = new ImageIcon(ResourceManager.class.getClassLoader()
                                                 .getResource(IMAGE_RESOURCE_PATH + imageName));
       } catch (Exception ex) {
          System.out.println ("### Exception in getIcon() : \r\n" + IMAGE_RESOURCE_PATH + imageName + " " + ex.toString());
       }

       return icon;
    }
    
    public static Image getImage(String imageName) {
        if (imageName == null) return(null);
        Image image = null;
        try {
                   //通过类加载器加载图片资源,作为图标对象的参数
        	   image = Toolkit.getDefaultToolkit().getImage(ResourceManager.class.getClassLoader()
                        .getResource(IMAGE_RESOURCE_PATH + imageName));
        } catch (Exception ex) {
           System.out.println ("### Exception in getIcon() : \r\n" + IMAGE_RESOURCE_PATH + imageName + " " + ex.toString());
        }

        return image;
     }
    
    public static AudioClip getSound(String soundName) {
        if (soundName == null) return(null);
        AudioClip wowo = null ;
        try {
          	  //通过类加载器加载声音资源,作为声音对象的参数
        	   wowo = Applet.newAudioClip(ResourceManager.class.getClassLoader()
                       .getResource(SOUND_RESOURCE_PATH + soundName));
        } catch ( Exception ex ) {
           System.out.println ("### Exception in getIcon() : \r\n" + SOUND_RESOURCE_PATH + soundName + " " + ex.toString());
        }

        return wowo;
     }
    
    public static File getFile(String fileName) {
        if (fileName == null) return(null);
        File file = null;
        try {
	 //通过类加载器加载文件资源,作为文件对象的参数
        	   file = new File(ResourceManager.class.getClassLoader()
                                                  .getResource(FILE_RESOURCE_PATH + fileName).toString());
        } catch (Exception ex) {
           System.out.println ("### Exception in getIcon() : \r\n" + FILE_RESOURCE_PATH + fileName + " " + ex.toString());
        }

        return file;
     }

}
分享到:
评论

相关推荐

    java调用window操作系统文本转语音并生成播放文件

    总之,Java调用Windows操作系统实现文本转语音并生成播放文件,涉及到JNI、COM组件、DLL编程、音频处理等多个方面,需要对Java和Windows API有深入理解。通过适当的技术选择和优化,可以创建出高效、灵活的文本转...

    java任意音频格式转码

    7. **错误处理**:在实际开发中,必须对可能出现的各种异常进行处理,例如文件不存在、权限问题、ffmpeg命令执行失败等。 综上所述,Java结合ffmpeg在音频格式转换方面提供了灵活且强大的解决方案。通过理解上述...

    Java中使用Jacob实现Windows下语音合成并生成音频文件示例代码.rar

    4. **语音合成(Text-to-Speech, TTS)**:在Java中,我们可以通过Jacob调用`SpVoice.Speak()`方法,传入需要合成的文本字符串,让系统语音引擎将其读出来。还可以设置一些参数,如语速、音调等,以定制合成效果。 ...

    java 调用windows的一些可执行文件

    4. **异常处理**:在调用外部程序时,可能会遇到找不到文件、权限问题等异常,需要进行适当的异常处理。例如,当命令执行失败时,`exec()`方法会抛出`IOException`。 5. **DatToWav.java**:根据提供的文件名,这...

    用java程序调用ffmpeg执行视频文件格式转换flv

    总结来说,通过Java调用FFmpeg和Mencoder进行视频格式转换,需要理解这两个工具的命令行语法,以及如何在Java中执行外部进程。此过程涉及到文件类型的检查、预处理转换(如果必要)、最终的格式转换以及错误处理,...

    科大讯飞语音识别java例子 输入音频文件输出音频文件中的内容可编辑的文字内容

    在Java中,可以使用JAVE(Java Audio Video Encoder)或者Java Sound API来处理音频文件。将音频数据转换为API所需的格式,并编码成Base64字符串,以便通过HTTP请求发送。 在发送请求后,API会返回一个JSON响应,...

    音频文件转换 java

    首先,我们要了解Java中的音频处理框架。Java Sound API(Java Sound Access)是Java标准版的一部分,它为音频播放、录制、合成以及文件格式处理提供了基础。这个API包括了多个包,如javax.sound.sampled,它是处理...

    java — Wave音频文件的属性获取及文件合成

    你可以根据实际情况调用`combineWAVs`函数,传入你需要合并的WAV文件路径,并指定一个目标合成文件的路径。 通过以上代码,你可以实现对WAVE文件的属性读取以及文件合成操作,这对于在Java项目中处理音频资源非常...

    java调用视频转换工具ffmpeg.zip

    Java调用视频转换工具FFmpeg是一项常见的任务,特别是在多媒体处理和流媒体服务中。FFmpeg是一个强大的跨平台命令行工具,用于转换、流化、编辑和处理音频和视频文件。在Java应用程序中集成FFmpeg,可以实现灵活的...

    java 调用lame.exe 将 wav 进行MP3压缩的一些问题

    Java调用LAME.exe将WAV进行MP3压缩是一个常见的音频处理任务,LAME是一个优秀的、免费的MP3编码库,通常以命令行工具的形式存在,如提供的`lame.exe`。在Java中,我们可以利用Java的Runtime或者ProcessBuilder类来...

    java+ffmpeg视频、音频转码

    通过以上分析,我们可以看出这个项目的核心是利用Java调用FFmpeg实现视频和音频的转码功能,涉及到多媒体处理、文件操作、系统调用等多个方面。对于开发者来说,理解FFmpeg的工作原理以及如何在Java中有效地利用它是...

    音频文件转码java开发,基于jave开源框架

    在Java中使用Jave进行音频转码,主要包括以下步骤: - 引入Jave库:将Jave的jar文件添加到项目的类路径中。 - 创建`Encoder`对象:根据目标格式创建相应的编码器对象。 - 设置转码参数:如目标比特率、采样率、...

    java播放视频音频文件.rar

    文档中的 "java播放视频音频文件.doc" 可能包含了更详细的步骤、示例代码或者关于如何处理特定问题的指南,如错误处理、播放进度控制和用户界面集成等。在实际开发中,你可能需要结合这个文档来获取更全面的信息。 ...

    用java调用科大讯飞的离线语音识别dll实现离线识别

    在本文中,我们将深入探讨如何使用Java调用科大讯飞的离线语音识别DLL来实现Windows系统的离线语音识别功能。首先,我们要理解几个关键概念:JNA(Java Native Access)是Java平台上的一个库,它允许Java代码直接与...

    浏览文件 获取文件路径

    Java中,`java.io.File`类提供了文件和目录操作的方法,而`Files`类则包含了一些高级的文件操作。 在获取文件路径后,我们可能还需要进行一些安全检查,比如权限验证,确保程序有权限访问所选文件。此外,如果需要...

    基于ffmpeg的音频处理Java SDK

    在Java中封装ffmpeg,可以为开发者提供更方便的API,简化音频处理的复杂性。 ### 1. 批量剪切mp3音频资源 批量剪切mp3音频资源是一项常见的需求,例如,可能需要将一个长篇的音频文件分割成多个小片段。Java SDK...

    Java播放本地声音,实现系统报警

    - 在加载音频文件的过程中可能会遇到一些异常,如文件不存在或者路径错误等。因此,我们需要捕获并处理`MalformedURLException`异常。 #### 示例代码解析 ```java import java.applet.AudioClip; import java.io....

    java 视频 摄像 调用电脑摄像头

    在Java中,通过Java Media Framework (JMF) 或者 JavaFX 可以实现对电脑摄像头的调用。下面将详细介绍这两个技术以及Spring框架在项目中的应用。 Java Media Framework (JMF) 是Java平台上的多媒体处理框架,它提供...

    java 数据库中图片文件的存取

    2. **文件系统存储**:另一种方法是将图片文件存储在文件系统中,然后在数据库中仅存储文件路径。这种方法的优点在于数据库负担较小,但需要管理文件系统的同步问题。 3. **云存储服务**:现代应用可能会选择将图片...

    Java下载https文件并上传阿里云oss服务器

    3. 调用OSSClient的`putObject`方法上传文件,传入bucket名、object key(在OSS中的路径)和输入流。 4. 上传完成后,关闭输入流和OSSClient。 注意,上传过程中需要处理异常,确保文件传输的可靠性和安全性。在...

Global site tag (gtag.js) - Google Analytics