【问题标题】:Not able to write to file - java无法写入文件 - java
【发布时间】:2015-10-21 14:03:31
【问题描述】:

很确定这应该很容易,但我无法写入文件。不抛出任何 I/O 异常。我之前在阅读时遇到了类似的问题,我尝试了一百种不同的方法,直到

DataInputStream dis = new DataInputStream(reading.class.getResourceAsStream("hello.txt"); BufferedReader input = new BufferedReader(new InputStreamreader(dis));

这行得通!我可以使用扫描仪等从这一点开始阅读。

FileReader,使File file = new File("hello.txt") 无论如何,这些都不起作用。当文件名不正确时,我什至无法得到任何错误。

现在我有同样的问题,除了写入文件,但没有等价于 reading.class.getResourceAsStream("hello.txt"); 生成 /output/ 流。

有谁知道如何获取“ResourceAsStream”,但作为输出流,/或/有谁知道我的问题可能是什么?

我知道这个网站上的很多人都有阅读/写作问题,但没有一篇文章对我有帮助。 注意 - 是的,我正在关闭,是的,我正在刷新,是的,我有写入文件的代码。

【问题讨论】:

  • 上下文是什么?您是否尝试在 jar 文件中读写?
  • 您可能需要检查该目录的权限。此外,如果文件已经存在,您可能还需要检查此文件的权限。
  • 您尝试过使用FileOutputStream 吗? FileOutputStream outputStream= new FileOutputStream(String file)
  • 用于数据结构赋值。这甚至不是有趣或具有挑战性的部分。我当前的包中有一个文本文件,我只想阅读它。还有另一个文本文件,我想从 .java 文件中写入。

标签: java io data-stream


【解决方案1】:

GetResourceAsStream 旨在读取与代码一起分发和打包的资源(例如属性文件)。不能保证它们处于可写模式,例如代码和资源都可以作为 jar 或 jar-inside-a-WAR-inside-an-EAR 分发...

请参阅此处Write to a file stream returned from getResourceAsStream() 以获取更多讨论和解决方法建议,尽管恕我直言,这不是很推荐。我认为合理的做法是区分 (a) 您的不可变代码分布 (b) 在运行时可编辑的数据......后者可能驻留在不同的机器上,对安全/复制/备份等具有不同的策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    相关资源
    最近更新 更多