写入数据后如何打开txt文件?

How to make txt file opened up after data have been written to it?

import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class OutputToFile {

    public static void main(String[] args) {
        ArrayList<Flight> flightList = new ArrayList<Flight>();
        try {
            BufferedReader filein = new BufferedReader(new FileReader(new File("flight.dat")));
            PrintWriter fileout = new PrintWriter(new FileWriter("output.txt"));
            String line;
            String from = null;
            String to = null;
            String flightNo = null;
            String date = null;
            String departure = null;

            if (filein != null) { // not null if file exist
                while ((line = filein.readLine()) != null) { //has more line to read
                    StringTokenizer st = new StringTokenizer(line);
                    while (st.hasMoreTokens()) {
                         from = st.nextToken();
                         to = st.nextToken();
                         flightNo = st.nextToken();
                         date = st.nextToken();
                         departure = st.nextToken(); 
                    }
                    Flight f = new Flight(from, to, flightNo, date, departure);
                    flightList.add(f);
                }
            }

            fileout.println("Total number of flights :"+ flightList.size());
            fileout.println("== Flight Plan ==");
            for (Flight f: flightList) { 
                fileout.println();
                fileout.println("From : "+ f.getFrom());
                fileout.println("To : "+ f.getTo());
                fileout.println("Flight Number : "+ f.getFlightNum());
                fileout.println("Date : "+ f.getDate());
                fileout.println("Departure Time : "+ f.getDepartureTime());
            }
            filein.close();
            fileout.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

因此,此程序从flight.dat读取数据并将数据写入output.txt。之后,我必须手动打开“output.txt”文件来检查数据是否已写入。有没有办法让 output.txt 文件在java 程序?如果有这样的方法,是否也可以根据需要 运行 任何文件(可能是 mp3 文件)?还有一件事,对我的代码有什么建议可以让它变得更好吗?谢谢你们的帮助。 :)

查看https://docs.oracle.com/javase/8/docs/api/java/awt/Desktop.html

在您的特定情况下,这可能会奏效:

Desktop.getDesktop().open(new File("output.txt"));