转载:http://scorpiomiracle.iteye.com/blog/583387
tomcat报错如下:
严重: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the <param name="inputName">
tag specified for this action. 出现这种错误一般只有两种可能: 1.文件路径不对,根本就没有取到文件,这种情况下,可以将获得InputStream的那条语句放在system.out.println()中输出一下,若为null,那就是路径不对了,或者说得准确些,就是根本没有找到文件。 2.在action中没有写对应于 配置文件中“ <param name="inputName"> ”后面属性的get方法,如本例就应该写public InputStream getDownloadFile()方法附: 我也采用了视频和网络上用的最多的方法来返回输入流,如下:
-
returnServletActionContext.getServletContext().getResourceAsStream("……");
但是不管怎么弄,都是报如上错误。在一博客上看到,“对ServletContext的getResourceAsStream方法认识有误,该方法不是从本地路径取文件,而是tomcat的工程路径下取文件流”,如“/WEB-INF/download/file.*”。此刻才恍然大悟,我要下载的文件就是位于其他路径,之前分析报错原因总认为肯定是配置的错误。然后,照其所说,一试,果然控制台输出为null,怪不得,于是改为如下方式获得文件流。
-
FilefileDes=newFile(path);
-
InputStreamis=newFileInputStream(fileDes);
-
returnis;
分享到:
相关推荐
### Java.io.Reader与Java.io.InputStream的关键差异解析 在深入探讨`java.io.Reader`与`java.io.InputStream`的具体差异之前,我们首先需要理解这两者在Java I/O操作中的基础角色。`java.io.Reader`和`java.io....
在探讨Java.nio与Java.io之间的比较时,我们首先需要理解这两个包在Java编程语言中的核心作用和它们各自的优势。Java.io和Java.nio是Java中处理输入/输出操作的两个主要框架,它们各自拥有独特的特性和应用场景。 #...
import java.io.InputStream; import java.io.OutputStream; import android.util.Log; public class SerialPort { private static final String TAG = "SerialPort"; /* * Do not remove or rename the ...
在Java中,IO操作主要分为字节流和字符流两大类,分别由`java.io.InputStream`和`java.io.OutputStream`以及`java.io.Reader`和`java.io.Writer`作为基类。字节流处理的是8位的字节,而字符流处理的是16位的Unicode...
【Java IO包详解】 Java IO包是Java标准库中的核心组件之一,主要用于处理输入和输出操作。这个包包含了大量类和接口,它们提供了各种输入输出流、字符编码、数据转换以及文件操作等功能。Java IO的设计采用了...
在Java编程环境中,进行串口通信时,常常会遇到一个问题:缺少`gnu.io`包,导致无法正常编译或运行程序。这个问题主要出现在使用RXTX库进行串口操作的项目中。RXTX是一个开源的Java库,它提供了与硬件进行串行通信的...
import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; ...
import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; ...
Java.io包是Java编程语言中的核心包之一,它包含了用于输入/输出操作的类和接口。这个包在Java中扮演着至关重要的角色,因为它提供了处理数据流、字符流、对象序列化、文件读写以及与操作系统交互的各种工具。在本...
在Java编程语言中,`java.io`包是用于输入/输出(I/O)操作的基础部分,包含了许多类和接口,使得开发者能够处理数据流、字符流、对象序列化、磁盘文件以及网络连接等任务。本篇文章将深入探讨`java.io`包中的关键概念...
java.io.InputStream集成 用法: import com . github . joshlemer . java_io_extras . _ import java . io . InputStream // get an InputStream from somewhere val inputStream : InputStream = ??? // convert ...
在Java编程语言中,IO(Input/Output)流和线程是两个重要的概念,它们在构建复杂的系统中扮演着至关重要的角色。在这个“万年历记事本”课设项目中,开发者结合了这两个概念来创建一个功能丰富的应用程序。下面我们...
### Java IO流详解 #### 一、Java IO流概述 Java IO流是Java标准库中的一个重要组成部分,主要用于处理数据的输入输出操作。根据处理的数据类型不同,Java IO流被分为两大类:字节流(byte streams)和字符流...
Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...
java.io.InputStream 则是复姓 java.io,名字为 InputStream 的类别。Java 使用 package 这种机制的原因很简单,就是为了避免类别名称的冲突,全世界的 Java 类别数量非常多,如果类别不使用套件名称,那在用到相同...
19. **java.io.InputStream**和**java.io.OutputStream**:所有字节流的基类,提供了基本的读写操作。 20. **java.io.Reader**和**java.io.Writer**:所有字符流的基类,用于处理字符数据。 21. **java.io....
### Java JDK IO包类详解 #### 概述 Java平台提供的`io`包为开发者提供了访问文件系统、对象序列化等功能的基本输入输出能力。它主要包括字节流、字符流及对象流(字节流的包装类)。此外,还提供了一些基本的文件...
Java IO 包含了许多类,如InputStream、OutputStream、Reader、Writer等,它们分别用于处理字节流和字符流。字节流适用于二进制数据,而字符流适用于文本数据。Java IO 还包括Filter流,可以用来装饰其他流,添加...
java.io.InputStream is = new java.io.DataInputStream( sk.getInputStream()); // 接受网络输入流 写入文件 int len = 0; byte[] buff = new byte[1024]; while((len=is.read(buff))!=-1){ fos....