从 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
您的代码的整个结构是错误的。您不想为每一行数据继续创建新文件并打开和关闭文件。
您想:
- 在 while 循环之前打开文件一次
- 在 while 循环中将数据写入文件
- while 循环后关闭文件。
我在写入文本文件时遇到问题。我可以从 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
您的代码的整个结构是错误的。您不想为每一行数据继续创建新文件并打开和关闭文件。
您想:
- 在 while 循环之前打开文件一次
- 在 while 循环中将数据写入文件
- while 循环后关闭文件。