У меня есть строка, что я отформатирован с помощью метода System.out.format()
, я сделать что-то вроде:Дать отформатированную строку в файл - Java
System.out.format("I = %3d var = %9.6f", i, myVar);
, но когда я пытаюсь написать эту отформатированную строку в файл, я только получить что-то вроде "[email protected]"
в нем.
Посмотрев в документацию понял, что этот метод немного напоминает System.out.print()
и просто возвращает PrintStream для отображения (в консоли, например), поэтому я попытался преобразовать его .toString
или String.valueOf()
, но я получаю тот же результат.
Так что мне было интересно, есть ли способ форматировать строку так же, как метод String.out.format()
, но таким образом, который будет доступен для записи в файл?
Вот примерно код я использую (просто сделать появляются полезные части)
WRITE_MY_LINE(System.out.format(" I = %3d var = %9.6f", i, myVar).toString());
//also tried this :
WRITE_MY_LINE(String.valueOf(System.out.format(" I = %3d var = %9.6f", i, myVar)));
public static void WRITE_MY_LINE(String line) {
buff_out = new BufferedWriter(new FileWriter(ascii_path, true));
buff_out.append(line);
buff_out.newLine();
buff_out.flush();
}
Override 'Объект # toString' в классе вашей переменной. – Mena