从URL编写文本文件

时间:2015-09-20 02:33:17

标签: java file-writing

我有关于编写文本文件的问题。我可以从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);

2 个答案:

答案 0 :(得分:0)

你需要追加'而不是'覆盖'当前文件,以便旧数据不会被删除。将标志更改为true:

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

答案 1 :(得分:0)

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

你想要:

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