Android 从网站下载 txt 而不删除包装
Android download txt from website without removing wrap
我需要从网站下载一个 .txt 文件,问题是下载的文件不遵循与原始文件相同的换行。
文件:
Word1
Word2
Word3
下载的文件:
Word1Word2Word3
我用这个方法下载(这不是我的):
@Override
protected String doInBackground(String... f_url) {
int count;
try {
URL url = new URL(f_url[0]);
URLConnection conection = url.openConnection();
conection.connect();
int lenghtOfFile = conection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream(), 8192);
OutputStream output = new FileOutputStream( MegaMethods.FolderPath+"downloadedfile.txt");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
publishProgress(""+(int)((total*100)/lenghtOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
Log.e("Error: ", e.getMessage());
}
return null;
}
尝试使用 BufferedReader 以类似
的方式读取它
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
StringBuilder responseData = new StringBuilder();
while((line = in.readLine()) != null) {
responseData.append(line);
}
然后根据需要输出行。我不在我可以测试这个的车站附近,所以你可能需要做一些摆弄。
我需要从网站下载一个 .txt 文件,问题是下载的文件不遵循与原始文件相同的换行。 文件:
Word1
Word2
Word3
下载的文件:
Word1Word2Word3
我用这个方法下载(这不是我的):
@Override
protected String doInBackground(String... f_url) {
int count;
try {
URL url = new URL(f_url[0]);
URLConnection conection = url.openConnection();
conection.connect();
int lenghtOfFile = conection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream(), 8192);
OutputStream output = new FileOutputStream( MegaMethods.FolderPath+"downloadedfile.txt");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
publishProgress(""+(int)((total*100)/lenghtOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
Log.e("Error: ", e.getMessage());
}
return null;
}
尝试使用 BufferedReader 以类似
的方式读取它BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
StringBuilder responseData = new StringBuilder();
while((line = in.readLine()) != null) {
responseData.append(line);
}
然后根据需要输出行。我不在我可以测试这个的车站附近,所以你可能需要做一些摆弄。