org.apache.commons.fileupload.disk.DiskFileItem 未正确创建?

2024-01-31

我正在尝试使用以下示例中显示的代码:

创建 DiskFileItem 时出现 java.lang.NullPointerException https://stackoverflow.com/questions/4120635/java-lang-nullpointerexception-while-creating-diskfileitem

我的测试方法包含以下代码:

final File TEST_FILE = new File("C:/my_text.txt");
final DiskFileItem diskFileItem = new DiskFileItem("fileData", "text/plain", true, TEST_FILE.getName(), 100000000, TEST_FILE.getParentFile());
diskFileItem.getOutputStream();

System.out.println("diskFileItem.getString() = " + diskFileItem.getString());

该位置存在文本文件,但上述代码的最后一行不输出文件内容。

知道为什么吗?

N.B.

以下内容打印文件内容:

BufferedReader input =  new BufferedReader(new FileReader(TEST_FILE));
String line = null;
while (( line = input.readLine()) != null){
    System.out.println(line);
}

在第一个代码片段中,您使用了 OutputStream 但它不起作用。在第二部分中,您使用 InputStream (或任何它的实现)并且它可以工作:)您可能想尝试使用 getInputStream() 代替... OutputStream 是写入字节而不是读取。

http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItem.html http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItem.html

试试这个,它很简单,从头开始只是为了提供帮助:

final File TEST_FILE = new File("D:/my_text.txt");
    //final DiskFileItem diskFileItem = new DiskFileItem("fileData", "text/plain", true, TEST_FILE.getName(), 100000000, TEST_FILE);
    try
    {
        DiskFileItem fileItem = (DiskFileItem) new DiskFileItemFactory().createItem("fileData", "text/plain", true, TEST_FILE.getName());
        InputStream input =  new FileInputStream(TEST_FILE);
        OutputStream os = fileItem.getOutputStream();
        int ret = input.read();
        while ( ret != -1 )
        {
            os.write(ret);
            ret = input.read();
        }
        os.flush();
        System.out.println("diskFileItem.getString() = " + fileItem.getString());
    }
    catch (Exception e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

org.apache.commons.fileupload.disk.DiskFileItem 未正确创建? 的相关文章

随机推荐

  • 监听 Flutter 中的 API 变化

    假设我有一个 API 它提供一个返回 id 和名称的 JSON 响应 在移动应用程序中 通常我会发出一个 http GET 响应 以便在与服务器的一次性连接中获取此数据 并在应用程序中显示结果 但是 如果数据随着时间的推移而变化 并且我想在
  • 如何在asp.net中显示Page_Load函数中设置的变量值

    我有一个从数据库获取的变量 我想在 html 之间的 aspx 页面中输出该变量 我试图将其公开 但它显示一些错误 如何在其 aspx 页面中使用页面加载函数中设置的变量 第一种方式 您将 Literal 控件放置在要显示变量的位置 然后在
  • 带有选项的简单选择标签在 Chrome 上不起作用

    我遇到了这个问题 我无法在我的 chrome 上扩展这个简单的选择标签
  • 在应用程序中使用多个网络接口

    我编写了一个应用程序 通过 wifi 触发索尼 qx 智能手机可连接相机 但是 我需要通过另一个本地网络实时传输手机上的图像 由于 wifi 卡用于 qx 连接 我需要能够通过 USB 使用以太网从手机传输图像 HTTP 请求将用于触发相机
  • 当手动将进度设置为 MotionLayout 时,它会清除所有约束

    我有带有两个小部件的 MotionLayout 一个在 MotionLayout 中描述 第二个在场景文件中描述 布局文件
  • 如何获取用户控件数据类型所在的TabPage

    我正在使用用户控件包装器方法构建自定义数据类型 我在其中添加现有的 TinyMCE 数据类型 问题是我需要找到一种方法来动态获取数据类型所在的当前 TabPage 以便我可以将 TinyMCE 按钮添加到菜单中 这就是我目前所拥有的 Tab
  • 使用 Ajax 和 PHP $_FILES 从 Canvas 元素发送图像

    我需要能够将图像和一些表单字段从客户端画布元素发送到 PHP 脚本 最终以 POST 和 FILES 结束 当我这样发送时
  • 将 Haskell 线程与内核线程进行比较 - 我的基准测试可行吗?

    这实际上是我的大学项目 在我的文章中 我需要提供证据证明 Haskell 线程的创建速度比普通内核线程更快 我知道最好参考一些研究论文 但重点是我必须自己进行基准测试 这是我的想法 我用 C 使用 pthreads 和 Haskell 编写
  • 错误“HttpServletRequest 引用了缺失的 String 类型”

    我正在 struts 中实现一个项目 其中 JSP 页面出现错误 我已经在 Eclipse IDE 中配置了 Tomcat 6 JRE 和 JDK 6 代码是 request getContextPath 错误是 The method ge
  • PHP 依赖注入

    我正在尝试了解依赖注入 并且在很大程度上我理解它 然而 如果由于某种原因 我的一个类依赖于多个类 而不是将所有这些都传递给构造函数中的这个类 是否有更好 更明智的方法 我听说过 DI 容器 这是我解决这个问题的方法吗 我应该从哪里开始使用这
  • 使用 PHPExcel 读取包含合并单元格的 Excel 工作表

    我想完整地阅读 Excel 工作表并使用 AJAX 将每一行发送到另一个页面进行处理 因此 我使用以下代码将 Excel 工作表数据转换为 JSON 数组 参考库中提供的 PHPExcel 示例
  • 如何使一个方法可用于 Rails 中的控制器和模型?

    我的 Rails 应用程序中有一个私有方法来连接到 Amazon S3 执行传递的代码块 然后关闭与 S3 的连接 看起来是这样 def S3 AWS S3 Base establish connection access key id g
  • Tomcat 中 System.setProperty 的范围

    这个问题是 表弟 这个涉及Android https stackoverflow com questions 4483001 scope of system setproperty 但我们在这里Tomcat环境 如果在我的网络应用程序中我设
  • Asp.net core 2 - 文件未发布

    EDIT 有关信息 我正在 macOS 上使用 VS Code 进行开发 我正在尝试将文件包含在我的发布过程中 当前cshtml这代表我的电子邮件模板 我遵循这个thread https github com dotnet sdk issu
  • 为什么 Spring Boot Batch 作业只运行一次?

    我正在使用弹簧靴 我有一个用这些类实现的批处理作业 我的主要课程是 SpringBootApplication ComponentScan com batch PropertySource classpath application pro
  • C++模板:全局对象中的静态成员未初始化

    我有一段简单的 C 代码 其中我通过专门化模板定义了一个模板和一个全局对象 对象构造函数访问专用模板中的静态成员 但事实证明静态成员此时尚未初始化 但对于本地对象 在函数体内定义 它是有效的 我很困惑 我的c 编译器是 g Ubuntu 5
  • 禁用java中的其他声音

    我用 Java 编写了一个程序 使用 pi4j 库在单击 物理 按钮时发出声音 该程序可以工作 但现在它可以互换地播放所有声音 我希望当您单击 2 3 4 或更多按钮时 您只能听到一种声音 这是我希望对您有所帮助的代码 public cla
  • Eclipse 部署程序集 - 在主项目 WEB-INF/lib 内创建依赖项目的 .war?

    我有一个主要的 Web 项目 其中包含部署和通过浏览器访问页面所需的所有内容 然后我有几个 功能 每个功能都是一个单独的项目 可以包含在主项目中 举个例子 我有MainApp and 函数 reportsApp 当构建这些时ant发生以下情
  • 为什么网络浏览器没有内置 jQuery? [复制]

    这个问题在这里已经有答案了 对我来说这似乎是个好主意 或者向 Javascript 本身添加附加功能 因为它只是众多图书馆之一 它可能很受欢迎 但它远不是唯一的选择 它还会导致它冻结在特定版本上并使改进速度慢得多 另外 无论如何也没有什么优
  • org.apache.commons.fileupload.disk.DiskFileItem 未正确创建?

    我正在尝试使用以下示例中显示的代码 创建 DiskFileItem 时出现 java lang NullPointerException https stackoverflow com questions 4120635 java lang