我正在尝试读取在CLASSPATH系统变量中设置的文本文件.不是用户变量.
我试图获取输入流到文件,如下所示:
将file(D:\myDir)的目录放在CLASSPATH中并尝试以下操作:
InputStream in = this.getClass().getClassLoader().getResourceAsStream("SomeTextFile.txt");
InputStream in = this.getClass().getClassLoader().getResourceAsStream("/SomeTextFile.txt");
InputStream in = this.getClass().getClassLoader().getResourceAsStream("//SomeTextFile.txt");
Run Code Online (Sandbox Code Playgroud)
将文件(D:\myDir\SomeTextFile.txt)的完整路径放在CLASSPATH中,并尝试上面3行代码.
但不幸的是,他们中的任何人都在工作,我总是null进入我的InputStream in.
假设我有我的主要课程C:\Users\Justian\Documents\.如何让我的程序显示它在C:\Users\Justian\Documents?
硬编码不是一种选择 - 如果它被移动到另一个位置,它需要适应.
我想将一堆CSV文件转储到一个文件夹中,让程序识别所有文件,然后加载数据并操纵它们.我真的只想知道如何导航到该文件夹.
我想从jar中复制一个文件.我要复制的文件将被复制到工作目录之外.我做了一些测试,我尝试的所有方法都以0字节文件结束.
编辑:我希望通过程序复制文件,而不是手动.
这是我的项目的结构:

我需要阅读config.properties内部MyClass.java.我尝试使用相对路径进行如下操作:
// Code called from MyClass.java
File f1 = new File("..\\..\\..\\config.properties");
String path = f1.getPath();
prop.load(new FileInputStream(path));
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:
..\..\..\config.properties (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)
如何在java中定义相对路径?我正在使用jdk 1.6并在Windows上工作.
我试图从中创建一个对象FileInputStream并将文件的相对值传递给它的构造函数,但它无法正常工作并抛出一个FileNotFoundException
try {
InputStream is = new FileInputStream("/files/somefile.txt");
} catch (FileNotFoundException ex) {
System.out.println("File not found !");
}
Run Code Online (Sandbox Code Playgroud) 我试图在JPanel上显示图片,但我一直收到错误:
java.lang.IllegalArgumentException:input == null!
我不明白发生了什么.
这是我正在使用的代码:
public void actionPerformed(ActionEvent e) {
try {
Image image=ImageIO.read(getClass().getResource("img/" +num.getText()+".jpg"));
Image resized = image.getScaledInstance(200, 200, 100);
pictureFrame.setIcon(new ImageIcon(resized));
} catch (Exception ex){
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这只会导致我收到错误!
堆栈跟踪产生以下结果:
Java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at work.Item.actionPerformed(Item.java:96)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6297)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6062)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:668)
at …Run Code Online (Sandbox Code Playgroud) 我想在我的Java代码中序列化一些对象.我不想把它放在硬盘上的一些随机文件夹中.我希望它在我的eclipse项目文件夹中的A FOLDER中.如何制作此文件夹并将对象存储在其中?
这是一个好习惯吗?如果我试图从这个项目中创建一个独立的JAR,会不会有问题?
我正在使用以下代码加载属性:
ResourceBoundle boundle = ResourceBundle.getBundle("file")
Run Code Online (Sandbox Code Playgroud)
我想知道加载文件的绝对路径.例如,如果我在tomcat的webapps文件夹中的Web应用程序中执行此代码,我想获取:
c:\tomcat8\webapps\example\WEB-INF\classes\file.properties.
Run Code Online (Sandbox Code Playgroud)
我怎么知道这条路?
我使用 Hibernate 启动 JPA 2.1,并在 persistence.xml 中包含以下几行
<property name="javax.persistence.schema-generation.scripts.action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation.scripts.create-target" value="META-INF/sampleCreate.ddl"/>
<property name="javax.persistence.schema-generation.scripts.drop-target" value="META-INF/sampleDrop.ddl"/>
Run Code Online (Sandbox Code Playgroud)
这些表生成到我的 postgres 数据库中。
但是,我的META-INF文件夹中没有sampleCreate.dll,也没有错误。
这里缺少什么?是生成到其他文件夹了吗?
谢谢。
使用Axis 1.4我构建的客户端应用程序将使用外部服务器服务。
带有包含标头标记和正文标记的soap 消息的服务器应用程序响应。
我的标题标签有问题,我试图找到获取header元素。
到目前为止做了什么:
我发现我需要使用一个BasicHandler使用此类扩展的处理程序,我可以获得标头标签。来源:处理 Axis 中的 SOAP 标头
但是如何在使用 Web 服务时使这个处理程序工作呢?我的意思是当我从服务器收到响应以获取它的header.
一些博客建议我需要使用.wsdd文件。我在 weblogic 10.3.6 环境中使用 Jdeveloper 11g,我只知道web.xml配置文件。
问题:如何链接这些信息(处理程序类、.wsdd文件和web.xml)以收集并使处理程序工作以获取标题标签?
如何在Scala中获取正在执行的程序的当前目录(工作目录)?
我想知道是否有一种方法,从java,找到运行该程序的java.exe的位置?
我的用例是我试图让Java执行一个需要在本地环境中设置JAVA_HOME的批处理脚本.我正在执行此操作的环境可能没有设置JAVA_HOME甚至路径上的java可执行文件,但我认为JVM知道其可执行文件的位置.
\n\n\n24.3\xc2\xa0Application 属性文件 SpringApplication 将从以下位置的 application.properties 文件加载属性,并将它们添加到 Spring 环境中:
\n\n当前目录的 /config 子目录。
\n\n当前目录
\n\n类路径 /config 包
\n\n类路径根
\n
它两次提到当前目录,但这实际上没有任何意义:
\n\n我尝试将其放在项目的根目录中(即上面与和src的输出匹配的文件夹中),并且我尝试将其与 war 文件放在一起(即在)java.io.File( "." ).getCanonicalPath()System.getProperty("user.dir");build\\libs
但唯一真正有效的放置位置是默认位置 ( src\\main\\resources)。
那么“当前目录”是什么意思以及文件真正去哪里呢?
\n\n我需要找到文件的正确外部位置,这样我就不必在应用程序中构建数据库凭据。
\n\n指南说放入application.properties当前目录将起作用,我找到了将其放入的确切当前目录,但它仍然不起作用,我可以通过以下输出来验证:System.out.println(System.getProperty("spring.datasource.url"));它null确实仅使用嵌入的属性文件。