我们有一个嵌入式资源,需要在提取之前获取文件的md5哈希,以便知道它是否与现有文件不同,(因为如果我们必须提取它来比较它们,那么最好更换它文件直接)
任何建议表示赞赏
我在CSS文件中遇到了这个背景图片.
我怎么看呢?
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFIAAAB3CAYAAACQTRce AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgR mlyZXdvcmtzIENTNXG14zYAAAmZSURBVHic7Zt/bB... BIG SNIP ...V3JGCkIKVIQUqQgpEhBSJGCk CIFIUUKQubZCELm2QhC5tkIQubZCELm2QhC5tkIQubZCELm2QhC5tkIQubZFEno2LWC+6Jkno0g5HdtQU iRgpAiBSFFCkKKFIQUKQiV3FYMycK4oysVeOVuBSQOF8i5KojcjC8IGSMFIUUKQooUhBQpCClSEFKkIKR IQUiRgpAiBfFfWn5d1Y2PJI0AAAAASUVORK5CYII=)
我试过的所有文字贴"iVBOR...",并"5CYII="在文件中,并更名为image.png- ,但没有奏效.
我正在编写一个小闹钟程序,当闹钟时间结束时,它会多次播放音频文件.
程序的报警端已完成.现在我要播放文件.我使用jFileChooser来选择文件.javax.sound.sampled.AudioInputStream,javax.sound.sampled.AudioSystem和javax.sound.sampled.Clip来播放我的wav文件.工作也好.
但我真的只想播放一个wav文件,我也希望能够在多个系统上移动这个闹钟,所以我想避免使用jFileChooser来选择我的闹钟音.我不想每次运行程序时都浏览并选择文件.
为文件提供相对路径(例如,与jar相同的文件夹),然后修复路径字符串会更容易吗?或者以某种方式使wav成为jar文件的一部分会更容易(这是我更喜欢的,因为我根本不用担心wav文件.它只是一个独立运行的jar文件闹钟.字节数组,也许?)
提前致谢!对不起,如果这太愚蠢了.我是新手!
这是我的AudioInputStream代码.
public void getaudPath() {
try {
JFileChooser chooser;
String choosertitle=null;
chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"WAV only", "wav");
chooser.setFileFilter(filter);
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
apath = (chooser.getSelectedFile()).toString();
File soundFile = new File(apath);
AudioInputStream audioIn = AudioSystem.getAudioInputStream(soundFile);
URL url = this.getClass().getClassLoader().getResource(apath);
clip = AudioSystem.getClip();
clip.open(audioIn);
JOptionPane.showMessageDialog(this,"Got file, A-okay!");
} else {
apath = null;
}} catch (Exception e) {JOptionPane.showMessageDialog(this,"Error in getting sound file:=> "+e); }
}
Run Code Online (Sandbox Code Playgroud) 我正在使用C#进行一些加密.我想隐藏我的密钥并想到嵌入式资源.我不确定黑客是否可以使用IL反汇编程序获取它.
我有一个预先制作的模板资源对话框,我想DialogBoxParam用来显示它,但我找不到任何关于互联网的好例子.该对话框是一个简单的登录对话框,所以有人可以解释如何构建我的内容lpDialogFunc以及放入什么内容dwInitParam吗?
我刚开始使用"Java资源文件",我有几个问题......
这就是我所做的.创建一个新的资源文件,因为我使用NetBeans,我可以在它看起来像这样导航器中的文件标签下看到它的位置:
这是我如何尝试访问它,但当我调试它回来null.
private void getPaths()//todo
{
try
{
InputStream is = getClass().getResourceAsStream("/resources/directories.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
br.close();
isr.close();
is.close();
}
catch(Exception e)
{
}
}
Run Code Online (Sandbox Code Playgroud) 我无法使用,Settings因为有一个外部文件.有没有办法在可执行文件中嵌入设置或嵌入数据?
我需要能够启动应用程序,并从内部保存数据,而不是在其他地方加载.
谢谢
我的netbeans遇到了麻烦.我制作了一个只播放背景音乐的节目.当我从netbeans IDE运行该程序时,它运行音乐没有任何错误.但是当我试图运行.jar文件时,程序正常运行而没有音乐.我已经检查了一百次路径,但它不起作用.没有错误,没有错误,音乐不是从.jar文件播放的.为什么这样?
public static synchronized void playSound(final String url) {
new Thread(new Runnable() {
public void run() {
try {
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream;
inputStream = AudioSystem.getAudioInputStream(
this.getClass().getResource(url));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}).start(); }
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我使用系统托盘,当我编译程序时,一切正常,我用于系统托盘的图标显示出来.
图标放在项目文件夹中,与图标相关的代码是
Image icon = Toolkit.getDefaultToolkit().getImage("Icon.png");
trayIcon = new TrayIcon(icon, "Program name", popup);
trayIcon.setImageAutoSize(true);
tray.add(trayIcon);
Run Code Online (Sandbox Code Playgroud)
正如我所说的,一切正常,但当我将项目导出为可运行的jar时,程序将运行,但图标不会显示,但它只是空白.
我正在学习Java Swing库,我遇到了问题.
在一个示例程序中,它通过以下行创建一个ImageIcon对象:
ImageIcon icon = new ImageIcon(getClass().getResource("exit.png"));
Run Code Online (Sandbox Code Playgroud)
当我执行我的程序时,我得到以下错误:由于在项目中缺少exit.png:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at com.andrea.second.SimpleMenu.initUI(SimpleMenu.java:23)
at com.andrea.second.SimpleMenu.<init>(SimpleMenu.java:17)
at com.andrea.second.SimpleMenu$2.run(SimpleMenu.java:53)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Run Code Online (Sandbox Code Playgroud)
问题是,使用Eclipse,我必须把这个immage放在哪里?
我尝试将它(在我的文件系统中,而不是在Eclipse中)复制并粘贴到包含创建它的类的相同包文件夹中...但它不起作用
我有什么办法在Eclipse中解决这个问题?