从 URL 写入文本文件

writing text file from URL

我在写入文本文件时遇到问题。我可以从 URL 读取,但我想将此信息写入文本文件。以下是我可以从 URL 获得的输入。当我试图将它们写入文件时,我只看到文本文件的最后一行 gear4/prog_index.m3u8 你能帮我解决这个问题吗

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
gear1/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=311111
gear2/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=484444
gear3/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=737777
gear4/prog_index.m3u8



public void CreateFile()
{
    File master=new File("Master Playlist.txt");
    try {
        FileWriter filewriter=new FileWriter(master, false);
        BufferedWriter bufferedwriter= new BufferedWriter(filewriter);
        bufferedwriter.write(read);
        bufferedwriter.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}
public String Connect()
{
    try {
        URL url=new URL(newlink);
        URLConnection conn=url.openConnection();
        conn.setDoOutput(true);
        conn.setUseCaches(false);
        DataInputStream input=new DataInputStream(conn.getInputStream());

        while((read=input.readLine())!=null)
        {
            CreateFile();
            System.out.println(read);

您需要 'append' 而不是 'overwrite' 当前文件,这样旧数据就不会被删除。将标志更改为 true :

FileWriter filewriter=new FileWriter(master, false); // overwrite
FileWriter filewriter=new FileWriter(master, true); // append

您的代码的整个结构是错误的。您不想为每一行数据继续创建新文件并打开和关闭文件。

您想:

  1. 在 while 循环之前打开文件一次
  2. 在 while 循环中将数据写入文件
  3. while 循环后关闭文件。