Java 编译代码时未找到适合writeStringToFile(文件、字符串、字符集)的方法

Java 编译代码时未找到适合writeStringToFile(文件、字符串、字符集)的方法,java,eclipse,apache-commons,Java,Eclipse,Apache Commons,我的代码有问题: FileUtils.writeStringToFile(file, xmlvo.getXmlString(), StandardCharsets.ISO_8859_1); 每次尝试构建时,我都会收到以下错误: error: no suitable method found for writeStringToFile(File,String,Charset) [javac] FileUtils.writeStringToFile(file

我的代码有问题:

FileUtils.writeStringToFile(file, xmlvo.getXmlString(), StandardCharsets.ISO_8859_1);
每次尝试构建时,我都会收到以下错误:

error: no suitable method found for writeStringToFile(File,String,Charset)
    [javac]                 FileUtils.writeStringToFile(file, xmlvo.getXmlString(), StandardCharsets.ISO_8859_1);
    [javac]                          ^
    [javac]     method FileUtils.writeStringToFile(File,String,String) is not applicable
    [javac]       (argument mismatch; Charset cannot be converted to String)
    [javac]     method FileUtils.writeStringToFile(File,String,boolean) is not applicable
    [javac]       (argument mismatch; Charset cannot be converted to boolean)
我正在使用ANT在Eclipse中构建

将代码更改为:

FileUtils.writeStringToFile(file, xmlvo.getXmlString(), GenericConstants.ISO_ENCODING);
不会抛出错误,但这不是正确的方法,因为原始代码也应该是好的

我正在使用
import org.apache.commons.io.FileUtils来自
commons io.2.6.jar

有什么建议吗

非常感谢和亲切的问候


Heiko

我在尝试用Ant clean warfile注释构建Ant项目时遇到了类似的问题。我试图更新ApacheCommons IO 2.6,但仍然遇到同样的问题。基本上,FileUtils.writeStringToFile(a1、a2、a3)正在寻找3个参数,但目前commons.io jar提供了两个参数。我有commons.io-1.4.jar、commons.io-2.4.jar和commons.io-2.6.jar的版本

这是我在代码中调用的方式: FileUtils.moveFileToDirectory(report2File,report2Destination,true)

请参阅下面的控制台打印

[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\build.xml:80: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 337 source files to C:\workspace_cvm\ESSMod_CCR3230_Merged\build\classes
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\controller\FileUploadJSONController.java:39: error: method decodeBase64 in class Base64 cannot be applied to given types;
[javac]                     byte[] bytes = Base64.decodeBase64(fileContent);
[javac]                                          ^
[javac]   required: byte[]
[javac]   found: String
[javac]   reason: actual argument String cannot be converted to byte[] by method invocation conversion
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\service\DocumentsService.java:175: error: no suitable method found for writeStringToFile(File,String,boolean)
[javac]                     **FileUtils.writeStringToFile**(new File("report.html"), list.toHtml(), false);
[javac]                              ^
[javac]     method FileUtils.writeStringToFile(File,String) is not applicable
[javac]       (actual and formal argument lists differ in length)
[javac]     method FileUtils.writeStringToFile(File,String,String) is not applicable
[javac]       (actual argument boolean cannot be converted to String by method invocation conversion)
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\service\DocumentsService.java:299: error: no suitable method found for writeStringToFile(File,String,boolean)
[javac]                     **FileUtils.writeStringToFile**(new File("report.html"), list.toHtml(), false);
[javac]                              ^
[javac]     method FileUtils.writeStringToFile(File,String) is not applicable
[javac]       (actual and formal argument lists differ in length)
[javac]     method **FileUtils.writeStringToFile**(File,String,String) is not applicable
[javac]       (actual argument boolean cannot be converted to String by method invocation conversion)

非常感谢你的帮助

我在尝试用Ant clean warfile注释构建Ant项目时遇到了类似的问题。我试图更新ApacheCommons IO 2.6,但仍然遇到同样的问题。基本上,FileUtils.writeStringToFile(a1、a2、a3)正在寻找3个参数,但目前commons.io jar提供了两个参数。我有commons.io-1.4.jar、commons.io-2.4.jar和commons.io-2.6.jar的版本

这是我在代码中调用的方式: FileUtils.moveFileToDirectory(report2File,report2Destination,true)

请参阅下面的控制台打印

[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\build.xml:80: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 337 source files to C:\workspace_cvm\ESSMod_CCR3230_Merged\build\classes
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\controller\FileUploadJSONController.java:39: error: method decodeBase64 in class Base64 cannot be applied to given types;
[javac]                     byte[] bytes = Base64.decodeBase64(fileContent);
[javac]                                          ^
[javac]   required: byte[]
[javac]   found: String
[javac]   reason: actual argument String cannot be converted to byte[] by method invocation conversion
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\service\DocumentsService.java:175: error: no suitable method found for writeStringToFile(File,String,boolean)
[javac]                     **FileUtils.writeStringToFile**(new File("report.html"), list.toHtml(), false);
[javac]                              ^
[javac]     method FileUtils.writeStringToFile(File,String) is not applicable
[javac]       (actual and formal argument lists differ in length)
[javac]     method FileUtils.writeStringToFile(File,String,String) is not applicable
[javac]       (actual argument boolean cannot be converted to String by method invocation conversion)
[javac] C:\workspace_cvm\ESSMod_CCR3230_Merged\JavaSource\gov\fda\cvm\eder\service\DocumentsService.java:299: error: no suitable method found for writeStringToFile(File,String,boolean)
[javac]                     **FileUtils.writeStringToFile**(new File("report.html"), list.toHtml(), false);
[javac]                              ^
[javac]     method FileUtils.writeStringToFile(File,String) is not applicable
[javac]       (actual and formal argument lists differ in length)
[javac]     method **FileUtils.writeStringToFile**(File,String,String) is not applicable
[javac]       (actual argument boolean cannot be converted to String by method invocation conversion)

非常感谢你的帮助

当我将commons-io-2.6拉入我的scratch项目时,
FileUtils.writeStringToFile(新文件(“File.txt”),“foo”,StandardCharsets.ISO_8859_1)编译并运行良好。我建议您仔细检查一下,您的类路径上是否有common-io.2.6.jar,以及是否没有其他
FileUtils
类。不幸的是,给定的包中没有其他类。具有此类类的其他jar文件具有不同的包名,不会导入到我的类中,也不在类路径中。还有其他建议吗?现在我只能建议您的问题尽可能多地包含关于如何编译代码的信息。我无法在eclipse或命令行中重现您的问题;当我把commons-io-2.6放到我的scratch项目中时,
FileUtils.writeStringToFile(新文件(“File.txt”),“foo”,StandardCharsets.iso8859_1)编译并运行良好。我建议您仔细检查一下,您的类路径上是否有common-io.2.6.jar,以及是否没有其他
FileUtils
类。不幸的是,给定的包中没有其他类。具有此类类的其他jar文件具有不同的包名,不会导入到我的类中,也不在类路径中。还有其他建议吗?现在我只能建议您的问题尽可能多地包含关于如何编译代码的信息。我无法在eclipse或命令行中重现您的问题;这对我来说很好。