Java UnknownFormatConversionException : Conversion = 'm'



我有这样的代码

if (jcb_rtsplit.isSelected()) {
        ArrayList<String> temp = P.RT_Split(dataTraining);
        writeFile(temp);
        cekRTSplit = true;
        cekRT = true;
    }

和代码方法writefile((类似:

public void writeFile(ArrayList<String> temp){
    CreatingFile file = new CreatingFile();
    file.openFile("RT Split.txt");
    for (int i = 0; i < temp.size(); i++) {
        file.addRecord(temp.get(i));
    }
    file.close();
}

这是这样创建的代码:

private Formatter x;
public void openFile(String name){
    try {
        x = new Formatter(name);
    } catch (Exception e) {
        System.out.println("you have an error");
    }
}
public void addRecord(String input){
    x.format(input);
    x.format("%n", "pratiwi");
}
public void close(){
    x.close();
}

但是,当我运行此程序时,我有这样的错误:

Exception in thread "AWT-EventQueue-0" java.util.UnknownFormatConversionException: Conversion = 'm'
at java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2720)
at java.util.Formatter.parse(Formatter.java:2560)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at program.CreatingFile.addRecord(CreatingFile.java:25)
at program.TUtama.writeFile(TUtama.java:758)

有人可以帮助我的代码吗?谢谢的

您的文件包含一个"%m",会导致异常(" 52.01%mengungguli"(。您可以使用此简单示例尝试:

    Formatter f = new Formatter("datatraining.txt");
    f.format("%m");
    f.format("%n", "pratiwi");
    f.close();

输出:

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'm'
    at java.util.Formatter$FormatSpecifier.conversion(Unknown Source)
    at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
    at java.util.Formatter.parse(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at Test.main(Test.java:14)

,如果不是格式指定符

最新更新