将ArrayList写入文本文件

时间:2014-11-20 22:10:56

标签: java arraylist io formatter

有谁知道使用Formatter方法编写ArrayList的最佳方法?我会非常感谢代码的一个例子让我走上正轨!我之前从未使用过Formatter方法,所以我对它有点新意,以及如何同时使用它和ArrayList!

1 个答案:

答案 0 :(得分: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");
        }
    }

}