当我传递RandomAccessFile.writeUTF这些参数时,为什么会出现错误?

时间:2012-04-29 12:23:56

标签: java

ManageStock2.java:104: error: method writeUTF in class RandomAccessFile cannot b
e applied to given types;
                                        in.writeUTF(authors , titles ,ISBN);
                                          ^
  required: String
  found: String,String,String
  reason: actual and formal argument lists differ in length
1 error

我已经初始化了变量。

String ISBN,ISBN2,authors,titles; 
int levels,level2,stock; 

我需要知道要写什么。我已经检查了api。

2 个答案:

答案 0 :(得分:2)

功能takes one argument,你提供三个。将呼叫分成三个:

in.writeUTF(authors);
in.writeUTF(titles);
in.writeUTF(ISBN);

这一个接一个地写三个字符串。如果您要应用格式(例如字段分隔符等),可以使用StringBuilderString.format()

答案 1 :(得分:1)

与错误消息一样,您使用三个参数调用writeUTF,但需要 only one

  

public final void writeChars(String s)                         抛出IOException

     

将字符串作为字符序列写入文件。每个字符都被写入数据输出流,就像writeChar方法一样。写操作从文件指针的当前位置开始。

相反,请进行三次单独调用:

in.writeUTF(authors);
in.writeUTF(titles);
in.writeUTF(ISBN);