Java 无法保存扩展名为.txt的文件(任何其他扩展名都有效) #

Java 无法保存扩展名为.txt的文件(任何其他扩展名都有效) #,java,save,bufferedwriter,Java,Save,Bufferedwriter,解决了20170607-原来这是一个IDE安装错误。当我使用较旧的Eclipse和Java6时,我恢复了系统。然后,我安装了最新的Eclipse和Java8,并且保存的文件没有任何错误 # 这是怎么回事?谷歌以及许多类似的网站似乎并没有给我带来启发 我使用Eclipse4、Windows7SP1和Java8(121 64位) 我看过 它说问题是由于文件权限。我可以毫不费力地读取txt文件,并且我可以写入新的或现有的文件,只要它们没有.txt作为扩展名。我的问题的第1部分对此进行了解释。即便如此,

解决了20170607-原来这是一个IDE安装错误。当我使用较旧的Eclipse和Java6时,我恢复了系统。然后,我安装了最新的Eclipse和Java8,并且保存的文件没有任何错误

# 这是怎么回事?谷歌以及许多类似的网站似乎并没有给我带来启发

我使用Eclipse4、Windows7SP1和Java8(121 64位)

我看过

它说问题是由于文件权限。我可以毫不费力地读取txt文件,并且我可以写入新的或现有的文件,只要它们没有.txt作为扩展名。我的问题的第1部分对此进行了解释。即便如此,我还是给了管理员和当前登录的用户(me)对控制器的完全权限,并且仍然抛出异常。我可以毫无问题地加载文件(请参阅标题为“加载文件”的问题部分)

我正在想办法保存文件。我创建的代码使用扩展名.exe、.mp3、.foo、.doc、.exe

当我使用.txt时。和IOExcepton,则抛出拒绝访问。链接到图像:

这是程序代码。我已经包括了所有内容(所以方法还没有编写等等,我感兴趣的是“私有void saveFile(字符串文件名,字符串示例)”

文件2只有常量,它们被正确地输入到方法中

加载文件 我创建了一个名为existing.txt的文件,该文件由缓冲读取器读取到程序中,没有任何问题

println("Should be x1 Element, so the ref 0 element is: " + workingData.get(0));
输出为“Should be x1 Element”,因此ref 0元素为:这是从名为“existing.txt”的现有文本文件加载的

我真正的要求是什么 如果我的代码正常工作,而Windows在Eclipse保存文本文件时出现问题(情况似乎与不一样),我还需要了解Java的这个功能吗,或者我的代码缺少什么


/\根据我的测试,Windows在Eclipse试图保存文件时一定遇到了问题,因此最终出现了权限错误。

文件必须已经存在,并且设置了文件权限,因此您无法从该过程中更新它。可能重复感谢您的回复。这是特定于txt文件的吗?例如,如果我键入“现有的"创建了一个名为existing.foo的文件。如果我创建了一个文件并为其提供了foo扩展名,那么上面的代码将使用新的existing.foo覆盖该文件,并包含示例文本。此外,我在运行Eclipse 3.2.1和Java 6 Update 2的现有VM的快照上测试了上述代码,并创建了8.txt文件,并对其进行了验证因此,总而言之,该代码适用于Eclipse3.2.1和Java6Update2。该代码不适用于:Eclipse4.6.3、Windows7SP1和Java8(121 64位)。
println("Should be x1 Element, so the ref 0 element is: " + workingData.get(0));