ServletContext.getRealPath()是否与Web片段一起工作?
我使用Web片段(Servlet 3 Spec),因此可以加载例如META-INF/resources/access.xml在我战争的/WEB-INF/lib/图书馆中通过ServletContext.getResourceAsStream("access.xml")的文件. 使用ServletContext.getRealPath("access.xml")做同样的事情不起作用(=> null). 规格状态: getRealPath方法采用String参数,并返回String在路径对应的本地文件系统上的文件表示. META-INF/resources jar文件目录中的资源仅在容器已将其从包含的jar文件中解开包装时,才能考虑到getRealPath() 是制造的,在这种情况下必须返回未包装的位置. 我的容器(tomcat)没有解开罐子,这似乎是问题吗? Tomcat如何打开罐子.打包战争时,我应该解开罐子吗? 解决方案 是,getResourcesAs
4 2023-11-27
编程技术问答社区
如何获取getclass()。从静态上下文获取资源()?
我有一个函数,我试图将文件加载到URL对象,因为示例项目是这样说的. public class SecureFTP { public static void main(String[] args) throws IOException , ClassNotFoundException, SQLException , JSchException, SftpException{ File file = new File("/home/xxxxx/.ssh/authorized_keys"); URL keyFileURL = this.getClass().getClassLoader().getResource(file); 我尝试使用SecureFTP.class.getResource,但仍然无法编译. 我是Java的新手,所以我知道我做错了什么. 解决方案 它无法编译,因为getResource将资源名称(a Stri
10 2023-11-09
编程技术问答社区
在Java中获取jLabel图片的URL
我会简短. 我已经放了一个jlbl_show,如果条件我已经为其设置了图像. if(int c==1){ jLbl_show0.setIcon(new ImageIcon(getClass().getResource("/img/wrong.png"))); } else{ jLbl_show0.setIcon(new ImageIcon(getClass().getResource("/img/ok.png"))); } 但是,如今设置了图像,我需要将图像URL带到另一个条件.就像; if(imageURL is "/img/ok.png"){ do somthing } elseif (imgURL is "/img/wrong.png"){ do something } 有办法做到这一点吗? 解决方案 做类似的事情: boolean flag = false; if(someBoolean){ jLbl_show0.setIco
6 2023-10-11
编程技术问答社区
java如何使用getResource()添加图片?
我想在jpanel类中添加图像,我使用方法getResource(),但它返回Exception in thread "main" java.lang.IllegalArgumentException: input == null!,因为我给出的图像文件夹的路径无效,现在我想要如何获得有效的有效路径,我知道这也许真的很容易,这不是我要在这里问的问题,但是我花了很多时间和尝试不同的路径,但它行不通; 在这里jpanel类 import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; public class Application extends JPanel { private BufferedImage image; public Appli
18 2023-10-11
编程技术问答社区
Java Swing:无法使用getResource加载图像
我试图隔离在尝试将图像添加到类目录中时可能出现的问题. (这样做是这样,当我以可运行的jar导出时,图像包含在软件包中). 所以我已经坐在'c:\ users \ sean \ workspace \ myapps \ src \ src \ testing'中的草莓. 你能建议我想念什么吗? 谢谢! package testing; import java.awt.*; import javax.swing.*; public class IconTest { public static void main(String[] arguments) { JFrame frame1 = new JFrame(); frame1.setTitle("Frame1"); frame1.setSize(500, 500); frame1.setDefaultCloseOperation(JFrame.EX
6 2023-10-11
编程技术问答社区
JAVA getResourceAsStream()文件的真实路径字符串解释
我正在使用NetBeans 8.0.2(我知道已经有v8.2,但是它对我来说有很多错误,所以我回到了v8.0.2),我需要一个字符串路径到我的.obj文件.这样的参数属性: api.parameter("filename", "obj/someFile.obj"); 上面的示例在我的应用程序的先前版本中工作,其中我将其放置在一个名为" OBJ"的文件夹中,与我的.jar文件相同的目录,但是现在我试图将其包含在用代码罐本身: api.parameter("filename", MyClass.class.getResourceAsStream("/someFile.obj").toString()); ...它不再起作用,因为路径字符串解释不是通往文件的路径,它看起来更像是这样: java.io.BufferedInputStream@215d7ea7 ...当然,我的代码期望像普通路径字符串一样,我会以这种伪代码的方式说些什么: api.paramet
2 2023-09-30
编程技术问答社区
在资源文件夹中以字符串形式获取文件的位置
我已经完成了Eclipse的程序,现在我想将其导出为一个可运行的JAR文件.该程序包含一个带有图像和文本文件的资源文件夹.这位于源文件夹下方. res文件未添加到构建路径中,但是当我在Eclipse运行程序时,它仍然有效. 让我感到困惑的是,当我导出它时,RES文件被保存到可运行的JAR文件中,因为我可以使用Winrar打开JAR文件,并且我看到该文件夹​​在其中包含所有对象.但是,当我运行问题时,它会停止在引用资源文件夹的位置.当我手动复制并粘贴RES文件夹旁边的RES文件夹时,请添加我的混乱 现在,我知道这与我在代码中引用文件的方式有关.目前,我像这样 reader = new LineNumberReader(new FileReader("res/usernames.txt")); 这是我想要和访问RES文件夹的方式,而无需任何例外 - 在Eclipse中以及当我将资源文件夹移到JAR文件旁边时. 我希望它正常工作,但是没有罐子文件外的文件夹,我希望它全部
10 2023-08-08
编程技术问答社区
getDrawable返回null
由于我已经对此事提出了最后一个问题,这是因为发布了与我要再次使用正确代码的问题的代码不同的代码... 所以这是交易,我一直在使用Android的Googlemaps API进行一些测试,而当我尝试使用我的一张图像在地图上设置一个自定义的lay,我注意到当我使用GetDrawable to时访问我的图像,它返回了null,即使是日食本身也向我显示了我的图像在我选择哪种可绘制的ctrl+backspace时在那里. 因此,我一直在墙上摔断了几个小时.关于这里有什么问题的线索? 预先感谢:) ps:打印显示日食在我使用ctrl + backspace 代码: import java.util.List; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Bundle; import com.google.android
30 2023-08-08
编程技术问答社区
我应该如何在Java中使用getResource()?
在许多地方都提出了这个问题,并且有无数的变化. (例如 java -getClassloader().getResource()驾驶我bonkers 等等.)我仍然无法做到这一点.工作. 这是代码段: String clipName = "Chook.wav"; ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); // URL url = classLoader.getResource(clipName); URL url = new URL("file:///Users/chap/Documents/workspace/the1620/bin/ibm1620/" + clipName); ais = AudioSystem.getAudioInputStream(url); 这项工作 - 请注意,我已
14 2023-08-08
编程技术问答社区
如何正确使用ClassLoader.getResources()?
如何使用ClassLoader.getResources()从我的类路径中找到递归资源? 例如. 在META-INF"目录"中查找所有资源: 想象 之类的东西 getClass().getClassLoader().getResources("META-INF") 不幸的是,这确实仅检索URL准确的"目录". 所有名为bla.xml的资源(递归) getClass().getClassLoader().getResources("bla.xml") 但这返回一个空的Enumeration. 作为奖励问题:ClassLoader.getResources()与ClassLoader.getResource()? 有何不同 解决方案 没有办法递归搜索类路径.您需要了解资源的完整路径名,才能以这种方式检索它.资源可以在文件系统中的目录中或JAR文件中的目录中,因此它不像执行" classPath"目录列表那样简单.您将需要提供资源的完整路径,
4 2023-08-08
编程技术问答社区
使用getResource()获取资源
我需要在Java项目中获取资源图像文件.我正在做的是: URL url = TestGameTable.class.getClass(). getClassLoader().getResource("unibo.lsb.res/dice.jpg"); 目录结构如下: unibo/ lsb/ res/ dice.jpg test/ ..../ /* other packages */ 事实是,我总是得到文件,因为文件不存在.我尝试了许多不同的路径,但是我无法解决问题. 有提示吗? 解决方案 TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg"); 带领斜线表示classpath的根 斜线而不是路径中的点 您可以直接在课堂上调用getResource() 其他解决方案 而不是明确编写可以使用的类名 this.getClas
12 2023-08-08
编程技术问答社区
具有父目录引用的getResource
我有一个Java应用程序,我正在尝试加载将包含在JAR中的文本文件. 当我做getClass().getResource("/a/b/c/")时,它能够为该路径创建URL,我可以将其打印出来,一切看起来都很好. 但是,如果我尝试getClass().getResource(/a/b/../"),那么我会返回null url. 似乎不喜欢路径中的...有人看到我在做错什么吗?如果有帮助,我可以发布更多代码. 解决方案 normalize()方法(其中有四个)在FilenameUtils类中可以帮助您.它在 apache commons io library . final String name = "/a/b/../"; final String normalizedName = FilenameUtils.normalize(name, true); // "/a/" getClass().getResource(normalizedName);
6 2023-08-07
编程技术问答社区
getResourceAsStream()返回null
我有一个java .jar库,从那里开始,我正在尝试访问我的Android项目的文件 与: InputStream inputStream = getClass().getResourceAsStream("/folder/data.txt"); someMethod(inputStream); // inputStream is null 但是inputStream总是null.我对应该放在哪里应该放在哪里 能够从.jar找到它. 从.jar项目中,我可以找到data.txt,在eclipse中进行以下操作: MyProject > properties > java build path > libraries > Add class folder 和此代码: InputStream inputStream = getClass().getResourceAsStream("/data.txt"); // without the folder 这是
24 2023-06-05
编程技术问答社区
在strings.xml中对字符串进行本地化会产生NullPointerException
我的工作计算机安装了日食,因此由于与工作相关的问题而没有Internet连接性,因此所有代码和LogCat文本都已手工键入而不是复制和粘贴,因为我现在安装了Eclipse的单独笔记本电脑.因此,请忍受我的任何错别字. 现在解决这个问题.在我的应用的新版本中,我将其支持西班牙语.我将所有字符串定位在strings.xml中.以下是我不愿实施的Java代码. public class SplashScreen extends SwarmActivity { Context c; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splashscreen); loading = (TextView)findViewById(R.id.loading); //loadin
18 2023-04-30
编程技术问答社区
无法使用.getResource()添加自定义字体-Java
我要将我的项目转换为jar文件.我正在用this.getClass().getResource(""); 设置所有图像和其他外部文件 我添加图像没有问题; xButton.setIcon(new ImageIcon(this.class.getResource("/a/b/c/d/e.png"))); ,但我无法使用此方法注册字体; ... private final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); ... try { ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File(this.getClass().getResource("fonts/f1.ttf")))); // or either ge.registerFont(Font.
18 2023-04-21
编程技术问答社区
为class.getResource()定义根classpath。
我在Eclipse(Windows)中使用Java,我正在尝试使用: myClass.getResource("/image.jpg"), image.jpg存在于根放宽" myproject/"中.它返回null. 我检查了许多其他线程,但它们都没有解决我的问题. 所以我试图评估以下内容: this.getClass().getResource("/").getPath(); 它返回了" myproject/build/class". 因此,我检查了该项目的此DIR的配置,并在 下找到了完全相同的DIR java构建路径 - >源 - >默认输出文件夹 我的问题是: 为什么我的资源的默认DIR是输出文件夹? 如前所述,我想从另一个文件夹中获取资源,但尝试调用"/../"不起作用...然后我如何加载其他未嵌套在我的课堂中的资源dir? (我可以更改我的输出dir,但我认为这会非常丑陋...) 解决方案 您必须将它们放在
50 2023-03-14
编程技术问答社区
Java 9.0 | ClassLoader::getResourceAsStream: NullPointerException
下面的这片代码,我从" /resource "文件夹中从文件夹中获取文件,在Java 8: 中对我来说很好. //e.g fileName = "folder0/file1.extension2" ClassLoader classLoader = ResourceLoader.class.getClassLoader(); InputStream in = classLoader.getResourceAsStream(fileName); Scanner scanner = new Scanner(in, "UTF-8"); 在Java 9中,它没有, classLoader.getResourceasStream(filename)返回null: java.lang.NullPointerException: source 但是,如果我直接使用" /resource "文件夹的文件,则可以正常工作: fileName = "file0.extension1
28 2023-03-14
编程技术问答社区
ClassLoader.getResourceAsStream是如何工作的?
我已经创建了一个用小牛肉的罐子档案.当我打开这个罐子时,我可以找到以下内容: my.jar |_text1.txt |_folder |_ ... some other stuff 当我在Eclipse中运行此代码段时," text1.txt"的内容和所有文件夹内容中的所有文件名 String tmp = IOUtils.toString(App.class.getClassLoader().getResourceAsStream("text1.txt"), StandardCharsets.UTF_8); System.err.println(tmp); tmp = IOUtils.toString(App.class.getClassLoader().getResourceAsStream("folder"), StandardCharsets.UTF_8); System.err.println(tmp); 当我将此代码作为独立程序运行
44 2023-03-14
编程技术问答社区
Spark应用程序中捆绑在jar中的log4j属性文件被忽略了
我需要读取SRC/Resources的自定义log4j.properties,这是不起作用的 try{ val inStream :InputStream= className.this.getClass.getClassLoader.getResourceAsStream("log4j.properties"); logCfgProps.load(inStream) } catch { case e: Throwable=> e.printStackTrace() log.error("log.properties file not present") } PropertyConfigurator.configure(logCfgProps) 意味着在罐子中捆绑的log4j被忽略. 我无法触摸Spark Home中的conf目录中的log4j属性. 其他选项是什么? 编辑 一定有问题(在班级路径中?) 因为这样做 v
38 2023-03-14
编程技术问答社区
Class.getResource()和ClassLoader.getResource()之间有什么区别?
我想知道Class.getResource()和ClassLoader.getResource()>? 有什么区别 编辑:我特别想知道文件/目录级别是否涉及任何缓存.如"目录列表在类版本中加缓存?" afaik基本上应该做同样的事情,但不是: getClass().getResource() getClass().getClassLoader().getResource() 我在摆弄某些报告生成代码时发现了这一点,该代码从该目录中的现有文件中创建一个新文件.当使用类中的方法时,我可以找到使用getClass().getResource()部署的文件,但是当尝试获取新创建的文件时,我收到了一个空对象.浏览目录清楚地表明新文件存在.用"/myfile.txt"中的前向斜杠填充文件名. 另一方面,getResource()的ClassLoader版本确实找到了生成的文件.从这一经验看来,目录列表正在进行某种缓存.我是对的吗,如果是这样,这是在哪里记录的? 来自
34 2023-03-14
编程技术问答社区