Этот код работает, что странно:При использовании класса Java Formatter, почему конструктор создаст файл txt, но не напишет на него?
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 установлен как открытый и закрытый, и вызван из другого класса. Я настолько запутался в правильном способе использования метода формата.
Пожалуйста, отпечатайте свой код с фигурными скобками вверху. – CaffeineToCode
http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#close%28%29 –
См. Также: http://stackoverflow.com/questions/22042609/java- formatter-output – Bobulous