我试图在webapp中加载一个文件,FileNotFound当我使用时我得到了一个例外FileInputStream.但是,使用相同的路径,我能够在我这样做时加载文件getResourceAsStream().这两种方法之间有什么区别,为什么一种方法有效而另一方方法无效?
我有一个我想上传的文件的路径,但该方法采用文件输入Stream.
任何人都可以告诉我如何从路径获取输入流?
我在使用打开的文件对话框之前上传文件并将文件作为文件输入Stream,但是我的网页的新部分用户没有选择文件,我必须用代码抓住它,但我知道它的文件路径.
public string uploadfile(string token, string filenameP, DateTime modDate, HttpPostedFileBase file)
{
//... code to upload file
}
Run Code Online (Sandbox Code Playgroud)
我想像Java中的类似ClassLoader.
在这里看到这个问题.
我有运行可执行.jar文件的问题.我创建了一个包含.properties文件的项目.当我从eclipse启动它时,它工作得很好,但是当我将它导出到可执行的.jar文件并尝试运行它时:
java -jar myfile.jar
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
(无法在此处发布图片) http://imageshack.us/photo/my-images/824/29583616.png/
我已经检查了.jar中的清单文件,它包含了
Class-Path: .
Run Code Online (Sandbox Code Playgroud)
这是属性文件加载:
properties = new Properties();
properties.load(new FileInputStream(
"src/com/resources/treeView.properties"));
Run Code Online (Sandbox Code Playgroud)
知道导致这个异常的原因吗?
我正在将一个WebService项目部署到一个jBoss AS7中,除了jBoss不扩展我的WAR或EAR文件外,一切正常.
已经尝试将文件复制到"jboss-as-7.1.0.Final\standalone\deployments"文件夹并使用WebConsole,但在两种情况下结果都是相同的.
如果我从Eclipse中部署,一切运行正常.
我需要它来扩展我的文件,因为在应用程序初始化中我扫描类目录,寻找使用反射实例化的正确类.
编辑:不知道这是jBoss AS 7或jBoss AS系列的特殊情况,因为我已经使用了WebSphere和jBoss Web,并且它们都扩展了文件.
EDIT2:添加了带执行路径的System.out
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
Run Code Online (Sandbox Code Playgroud)
它返回以下路径
C:\jboss-as-7.1.0.Final\bin\content\ServerEAR.ear\Server.war\WEB-INF\classes
Run Code Online (Sandbox Code Playgroud)
巫婆不存在.所以我搜索了类名并将其命名为
C:\jboss-as-7.1.0.Final\standalone\tmp\vfs\deployment5a9e98d5c43716c3\Server.war-e31a657d2bc3bd0f\WEB-INF\classes\r30
Run Code Online (Sandbox Code Playgroud)
是不是可以强制JBoss将文件解压缩到部署文件夹?或者我如何在运行时获取上一个路径.