此代码有效,这很奇怪:
import java.util.*;
import java.io.*;
public class FileWork {
private Formatter r;
public void openFile(){
try{
r = new Formatter("c:\\employees.txt");
}
catch(Exception e){
System.out.println("You got an error");
}
}
public void addRecords(){
r.format("%d%s%s%n", 34 , " Matt ", "Jenkins");
r.format("%d%s%s%n", 36 , " John ", "Jackson");
}
}
然后在另一个类中我调用方法。
public class FileWork2 {
public static void main(String[] args) {
FileWork g = new FileWork();
g.openFile(); //creates file
g.addRecords(); //adds records
}
}
但是以下代码不起作用:
import java.io.FileNotFoundException;
import java.util.Formatter;
public class FileWork3 {
public static void main(String[] args) throws FileNotFoundException {
final Formatter x = new Formatter("c:\\GuestList2.txt");
x.format("%d", 10);
}
}
第二组代码创建了文件GuestList2.txt,但没有写入任何内容。这是空白的。看起来这只有在Formatter设置为public和private,并从另一个类调用时才有效。我对使用格式方法的正确方法感到困惑。
答案 0 :(得分:1)
这只是因为我需要运行close()方法。现在它工作正常,我用不同的方式尝试了它,使用Final,使用静态方法,现在它的输出正常。感谢您的链接和评论。