相关疑难解决方法(0)

如何在Java中从classpath中真正读取文本文件

我正在尝试读取在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.

java classpath

349
推荐指数
8
解决办法
58万
查看次数

如何在Java中获取当前工作目录?

假设我有我的主要课程C:\Users\Justian\Documents\.如何让我的程序显示它在C:\Users\Justian\Documents

硬编码不是一种选择 - 如果它被移动到另一个位置,它需要适应.

我想将一堆CSV文件转储到一个文件夹中,让程序识别所有文件,然后加载数据并操纵它们.我真的只想知道如何导航到该文件夹​​.

java path working-directory

110
推荐指数
7
解决办法
34万
查看次数

如何将jar中的文件复制到jar外?

我想从jar中复制一个文件.我要复制的文件将被复制到工作目录之外.我做了一些测试,我尝试的所有方法都以0字节文件结束.

编辑:我希望通过程序复制文件,而不是手动.

java copy jar file working-directory

42
推荐指数
5
解决办法
6万
查看次数

如何在java中定义相对路径(Windows)

这是我的项目的结构:

这是我项目的结构

我需要阅读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上工作.

java relative-path jdk1.6

36
推荐指数
2
解决办法
20万
查看次数

FileInputStream不适用于相对路径

我试图从中创建一个对象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)

java filenotfoundexception fileinputstream

17
推荐指数
3
解决办法
8万
查看次数

Class.getResource()返回null

我试图在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 getresource

10
推荐指数
1
解决办法
3万
查看次数

如何在eclipse中创建一个用于存储序列化对象的文件夹?

我想在我的Java代码中序列化一些对象.我不想把它放在硬盘上的一些随机文件夹中.我希望它在我的eclipse项目文件夹中的A FOLDER中.如何制作此文件夹并将对象存储在其中?

这是一个好习惯吗?如果我试图从这个项目中创建一个独立的JAR,会不会有问题?

java eclipse serialization

5
推荐指数
1
解决办法
3571
查看次数

如何知道resourceBoundle加载的属性的绝对路径

我正在使用以下代码加载属性:

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)

我怎么知道这条路?

java tomcat

5
推荐指数
1
解决办法
79
查看次数

JPA 2.1 不生成模式脚本

我使用 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,也没有错误。

这里缺少什么?是生成到其他文件夹了吗?

谢谢。

hibernate jpa persistence.xml jpa-2.1

5
推荐指数
1
解决办法
3063
查看次数

在java中使用Web服务时如何触发处理程序类

使用Axis 1.4我构建的客户端应用程序将使用外部服务器服务。

带有包含标头标记和正文标记的soap 消息的服务器应用程序响应。

我的标题标签有问题,我试图找到获取header元素。

到目前为止做了什么:

我发现我需要使用一个BasicHandler使用此类扩展的处理程序,我可以获得标头标签。来源:处理 Axis 中的 SOAP 标头

但是如何在使用 Web 服务时使这个处理程序工作呢?我的意思是当我从服务器收到响应以获取它的header.

一些博客建议我需要使用.wsdd文件。我在 weblogic 10.3.6 环境中使用 Jdeveloper 11g,我只知道web.xml配置文件。

问题:如何链接这些信息(处理程序类、.wsdd文件和web.xml)以收集并使处理程序工作以获取标题标签?

java axis soap web-services

3
推荐指数
1
解决办法
2990
查看次数

如何获取Scala中的当前(工作)目录?

如何在Scala中获取正在执行的程序的当前目录(工作目录)?

scala file working-directory

3
推荐指数
4
解决办法
3363
查看次数

从java中找到java.exe位置

我想知道是否有一种方法,从java,找到运行该程序的java.exe的位置?

我的用例是我试图让Java执行一个需要在本地环境中设置JAVA_HOME的批处理脚本.我正在执行此操作的环境可能没有设置JAVA_HOME甚至路径上的java可执行文件,但我认为JVM知道其可执行文件的位置.

java jvm

2
推荐指数
1
解决办法
3万
查看次数

“当前目录”中的 Spring Boot 外部属性文件被忽略

从手册:

\n\n
\n

24.3\xc2\xa0Application 属性文件 SpringApplication 将从以下位置的 application.properties 文件加载属性,并将它们添加到 Spring 环境中:

\n\n

当前目录的 /config 子目录。

\n\n

当前目录

\n\n

类路径 /config 包

\n\n

类路径根

\n
\n\n

它两次提到当前目录,但这实际上没有任何意义:

\n\n

我尝试将其放在项目的根目录中(即上面与和src的输出匹配的文件夹中),并且我尝试将其与 war 文件放在一起(即在)java.io.File( "." ).getCanonicalPath()System.getProperty("user.dir");build\\libs

\n\n

但唯一真正有效的放置位置是默认位置 ( src\\main\\resources)。

\n\n

那么“当前目录”是什么意思以及文件真正去哪里呢?

\n\n

我需要找到文件的正确外部位置,这样我就不必在应用程序中构建数据库凭据。

\n\n

指南说放入application.properties当前目录将起作用,我找到了将其放入的确切当前目录,但它仍然不起作用,我可以通过以下输出来验证:System.out.println(System.getProperty("spring.datasource.url"));null确实仅使用嵌入的属性文件。

\n

java tomcat externalizing properties-file spring-boot

1
推荐指数
1
解决办法
2万
查看次数