XMLConfiguration 大小为 0
XMLConfiguration Size is 0
File file = new File( "justskiphere" );
if ( !file.exists() )
{
file =
new File( Thread.currentThread().getContextClassLoader()
.getResource( "general_cat_column_order.xml" ).getFile() );
LOG.info( "Found in the thread" );
}
XMLConfiguration config = null;
try
{
config = new XMLConfiguration( file );
LOG.info( config.getBasePath() );
LOG.info( config.getFileName() );
LOG.info( config.getRootElementName() );
LOG.info( "" + config.getRootNode().getChildren().size() );
}
catch ( final ConfigurationException e )
{
TableColumnHelper.LOG.warn( "Could not find the xml file.", e );
}
您好,
当我尝试从 jar
读取时,它确实看到文件在那里,但没有获取其中的内容。所以LOG
的结果是:
12:58:33,665 [main] [INFO] TableColumnHelper - Found in the thread
12:58:33,701 [main] [INFO] TableColumnHelper - /home/mert/Desktop/inspector-1.0-3/file:/home/mert/Desktop/inspector-1.0-3/groundstation.jar!
12:58:33,701 [main] [INFO] TableColumnHelper - general_cat_column_order.xml
12:58:33,701 [main] [INFO] TableColumnHelper - configuration
12:58:33,701 [main] [INFO] TableColumnHelper - 0
12:58:33,702 [main] [INFO] TableColumnHelper - Items in set: 0
我不明白为什么。 jar
是:
general cat column order 是 jar
中的文件,里面有内容。
这是什么原因?
提前谢谢你。
从 jar 中读取文件总是我必须考虑的事情 ;-)
我总是最终使用
getClass().getClassLoader().getResourceAsStream(...)
“..AsStream”部分很重要,因为文件对象无法查看 jar 内部。我不确定您使用哪个 XMLConfiguration
,但它很可能有一个 InputStream 构造函数。
你可能还想看看 how to read a file from a jar file
在 Java 中,class 文件表示 OS' 文件系统中的一个文件。罐子里的东西不在 OS' 文件系统中。无法通过文件访问它们。
使用 getClass().getResourceAsStream() 读取 jar/classpath 中的资源。如果您的库不支持从 InputStream 加载内容,请升级到支持的版本。
File file = new File( "justskiphere" );
if ( !file.exists() )
{
file =
new File( Thread.currentThread().getContextClassLoader()
.getResource( "general_cat_column_order.xml" ).getFile() );
LOG.info( "Found in the thread" );
}
XMLConfiguration config = null;
try
{
config = new XMLConfiguration( file );
LOG.info( config.getBasePath() );
LOG.info( config.getFileName() );
LOG.info( config.getRootElementName() );
LOG.info( "" + config.getRootNode().getChildren().size() );
}
catch ( final ConfigurationException e )
{
TableColumnHelper.LOG.warn( "Could not find the xml file.", e );
}
您好,
当我尝试从 jar
读取时,它确实看到文件在那里,但没有获取其中的内容。所以LOG
的结果是:
12:58:33,665 [main] [INFO] TableColumnHelper - Found in the thread
12:58:33,701 [main] [INFO] TableColumnHelper - /home/mert/Desktop/inspector-1.0-3/file:/home/mert/Desktop/inspector-1.0-3/groundstation.jar!
12:58:33,701 [main] [INFO] TableColumnHelper - general_cat_column_order.xml
12:58:33,701 [main] [INFO] TableColumnHelper - configuration
12:58:33,701 [main] [INFO] TableColumnHelper - 0
12:58:33,702 [main] [INFO] TableColumnHelper - Items in set: 0
我不明白为什么。 jar
是:
general cat column order 是 jar
中的文件,里面有内容。
这是什么原因?
提前谢谢你。
从 jar 中读取文件总是我必须考虑的事情 ;-)
我总是最终使用
getClass().getClassLoader().getResourceAsStream(...)
“..AsStream”部分很重要,因为文件对象无法查看 jar 内部。我不确定您使用哪个 XMLConfiguration
,但它很可能有一个 InputStream 构造函数。
你可能还想看看 how to read a file from a jar file
在 Java 中,class 文件表示 OS' 文件系统中的一个文件。罐子里的东西不在 OS' 文件系统中。无法通过文件访问它们。
使用 getClass().getResourceAsStream() 读取 jar/classpath 中的资源。如果您的库不支持从 InputStream 加载内容,请升级到支持的版本。