杰瑞科技汇

java list 写入txt

Java List 写入 TXT 文件

在 Java 中,将 List 写入 TXT 文件有几种常见方法,以下是几种实现方式:

java list 写入txt-图1
(图片来源网络,侵删)

方法1:使用 Files.write() (Java 7+)

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
public class ListToTxt {
    public static void main(String[] args) {
        List<String> lines = Arrays.asList("第一行", "第二行", "第三行");
        try {
            Files.write(Paths.get("output.txt"), lines);
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            System.err.println("写入文件时出错: " + e.getMessage());
        }
    }
}

方法2:使用 BufferedWriter

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class ListToTxt {
    public static void main(String[] args) {
        List<String> lines = Arrays.asList("第一行", "第二行", "第三行");
        try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
            for (String line : lines) {
                writer.write(line);
                writer.newLine(); // 添加换行符
            }
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            System.err.println("写入文件时出错: " + e.getMessage());
        }
    }
}

方法3:使用 PrintWriter

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.List;
public class ListToTxt {
    public static void main(String[] args) {
        List<String> lines = Arrays.asList("第一行", "第二行", "第三行");
        try (PrintWriter writer = new PrintWriter(new FileWriter("output.txt"))) {
            for (String line : lines) {
                writer.println(line); // 自动添加换行符
            }
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            System.err.println("写入文件时出错: " + e.getMessage());
        }
    }
}

方法4:处理自定义对象列表

List 中存储的是自定义对象,需要先转换为字符串:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
class Person {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return name + "," + age;
    }
}
public class ObjectListToTxt {
    public static void main(String[] args) {
        List<Person> people = Arrays.asList(
            new Person("张三", 25),
            new Person("李四", 30),
            new Person("王五", 28)
        );
        try (BufferedWriter writer = new BufferedWriter(new FileWriter("people.txt"))) {
            for (Person person : people) {
                writer.write(person.toString());
                writer.newLine();
            }
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            System.err.println("写入文件时出错: " + e.getMessage());
        }
    }
}

注意事项

  1. 文件路径:确保程序有写入指定路径的权限
  2. 异常处理:始终处理可能出现的 IOException
  3. 资源关闭:使用 try-with-resources 语句确保文件流被正确关闭
  4. 编码问题:如果处理中文,建议指定编码:
    Files.write(Paths.get("output.txt"), lines, StandardCharsets.UTF_8);

    new OutputStreamWriter(new FileOutputStream("output.txt"), "UTF-8")

方法可以根据你的具体需求选择使用,Files.write() 方法在 Java 7 及以上版本中是最简洁的选择。

java list 写入txt-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇