我想要讀取目錄中的文件。我想添加: List<String> nomi = new ArrayList<String>();
文件Nomi.txt的線串。從FTP服務器讀取文件,但InputStream始終爲空
通過調試我正確地查看鏈接(001.jpg 002.jpg 003.jpg)和ft(Nomi.txt)中的文件,但在流中我始終爲空;
InputStream stream = f.retrieveFileStream(/*url_ftp + "/photo/"+ft*/ft);
我完整的代碼是這樣的:
private static abstract class GetLinksTask extends AsyncTask<String, Void, List<String>> {
protected List<String> doInBackground(String... urls) {
List<String> links = new ArrayList<String>();
String ft=null;
BufferedReader reader = null;
List<String> nomi = new ArrayList<String>();
FTPClient f = new FTPClient();
try {
int reply;
f.connect(url_ftp);
f.login(username,password);
reply = f.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
f.disconnect();
System.err.println("FTP server refused connection.");
}
FTPListParseEngine engine = f.initiateListParsing("photo");
while (engine.hasNext()) {
FTPFile[] files = engine.getNext(25); // "page size" you want
//FTPFile[] files = engine.getFiles(filter);
for (FTPFile file : files) {
if(file.getName().substring(file.getName().length()-3,file.getName().length()).equals("jpg")){
System.out.println(file.getName());
links.add(file.getName());
}else{
ft=file.getName();
InputStream stream = f.retrieveFileStream(/*url_ftp + "/photo/"+ft*/ft);
reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
//nomi.add(reader.readLine());
}
System.out.println(file.getName());
}
//names=nomi;
}
}catch (IOException e) {
e.printStackTrace();
}finally {
if (reader != null)
try {
reader.close();
}catch (IOException logOrIgnore) {
}
}
return links;
}
protected abstract void postExecute(List<String> links);
protected void onPostExecute(List<String> lists) {
postExecute(lists);
}
}
一些建議嗎? 感謝
第一件事第一件事。檢查鏈接是否有效。並且您可以使用其他ftp客戶端(例如telnet)連接到它 – nafas
yes是全部正確我使用FILE ZILLA – user3589887
什麼是完全無效的呢?你可以連接到它嗎?重播的價值是什麼? – nafas