2014-11-20 2 views
-1

Кто-нибудь знает, как лучше всего использовать метод Formatter для записи ArrayList? Пример кода был бы очень благодарен за то, что вы на правильном пути! Я никогда раньше не использовал метод Formatter, поэтому я немного новичок в этом и как использовать его и ArrayList в одно и то же время!Запись ArrayList в текстовый файл

ответ

0

Этот пример не прост, он использует дженерики, с которыми вы не столкнетесь в начале обучения Java (используйте его на свой страх и риск :)).

package javaformatterexample; 

import java.util.Formatter; 
import java.util.List; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Arrays; 

public class TextFileFormatter<T> 
{ 

    Formatter formatter; 
    String format; 
    public TextFileFormatter(Formatter formatter, String format) 
    { 
     this.formatter = formatter; 
     this.format = format ; 
    } 

    public Formatter getFormatter() 
    { 
     return formatter; 
    } 

    public String getFormat() 
    { 
     return format; 
    } 

    public void writeList(List<T> list) 
    { 
     for (T element : list) 
     { 
      getFormatter().format(getFormat(),element); 
     }   
    } 

    public void close() 
    { 
     getFormatter().close(); 
    } 

    public static void main(String[] args) 
    { 
     System.out.println("Shows how to use the class Formatter"); 
     try 
     { 
      File file = new File("out.txt"); 
      //formatter that writes doubles to a file 
      TextFileFormatter<Double> formatter = new TextFileFormatter<>(
        new Formatter(file), "%f"); 
      // writes a list of doubles 
      formatter.writeList(Arrays.asList(2.0, 2.1, -15.3)); 
      formatter.close(); 
     } 
     catch (FileNotFoundException e) 
     { 
      System.out.println("File not found"); 
     } 
    } 

} 
Смежные вопросы