找不到符号错误_ PrintWriter.printf()方法_

时间:2019-10-10 16:38:07

标签: java

我正在尝试使用PrintWriter.printf()将格式化的文本写入文件。

ubuntu(Java版本为1.6.0_41)上编译时,出现错误消息:

cannot find symbol method printf(java.lang.String, int) 

我尝试使用方法printWriter.format (),但给出了相同的错误。

Windows(Java版本为1.8.0_162)上有效。

以下是包含错误的方法:

public void fileWriting(TestSerialMsg message) throws IOException {

    FileWriter fileWriter = new FileWriter("ReceivedMsg.txt");
    PrintWriter printWriter = new PrintWriter(fileWriter);
    printWriter.print("Some String");
    printWriter.printf("received counter is %d",message.get_counter());
    printWriter.close();
   }

错误:

TestSerial.java:85: cannot find symbol
 symbol  : method printf(java.lang.String,int)
 location: class java.io.PrintWriter  
     printWriter.printf("received counter is %d",message.get_counter());  
                ^  
 1 error

1 个答案:

答案 0 :(得分:0)

方法printf的第二个参数是Object的数组。您的方法message.get_counter()返回的值是一个int,它是一个原始值,而不是Object。因此,该消息表明没有printf方法具有两个参数,其中第一个是String,第二个是int

根据Integer返回的值创建一个message.get_counter(),并在调用方法printf时将其用作第二个参数,即

printWriter.printf("received counter is %d", Integer.valueOf(message.get_counter()));

或者,您可以使用方法println代替printf,如...

printWriter.println("received counter is " + String.valueOf(message.get_counter()));