2014-11-20 63 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"); 
     } 
    } 

}