gpt4 book ai didi

java - FTPClient 和 BufferedReader

转载 作者:太空狗 更新时间:2023-10-29 14:07:59 25 4
gpt4 key购买 nike

所以我有这段代码应该从 ftp 目录中的每个文本文档的每一行读取,问题是它只适用于 det 第一个文件,因为当涉及到第二个文件时,我可以在日志中看到second 也被列出但是当它想要阅读它时它就崩溃了,这就是代码

public void getComments(){
final FTPClient ftpClient = new FTPClient();
BufferedReader reader = null;

new Thread(new Runnable() {
public void run() {
try {
ftpClient.connect(InetAddress.getByName("31.220.17.2"));
ftpClient.login("mopedsho", "neppi1");
int imageNr = sharedPreferences.getInt("ImageNrCross", 1);
ftpClient.makeDirectory("/public_ftp/Comments/Cross/" + imageNr);
ftpClient.changeWorkingDirectory("/public_ftp/Comments/Cross/" + imageNr);
String[] names = ftpClient.listNames();
if (names == null) {


} else {
BufferedReader reader = null;
for (String name : names) {
if (!name.equals(".") && !name.equals("..")) {
InputStream in = null;
try {
Log.e("File namer", name + "");

in = ftpClient.retrieveFileStream(name);
if (in != null) {
reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String firstLine;
while ((firstLine = reader.readLine()) != null) {
final String line = firstLine;
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {

@Override
public void run() {
adapter.add("" + line);

}

});

}
}
in.close();

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
ftpClient.logout();
ftpClient.disconnect();
}
}} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}}
}).start();}

错误代码:

07-14 13:50:27.739  20152-20298/com.emiliogaines.mopedshowcase E/File namer﹕ EmilioGaines4663767201961631433982.txt
07-14 13:50:28.166 20152-20298/com.emiliogaines.mopedshowcase E/File namer﹕ EmilioGaines4663767201961631535180.txt
07-14 13:50:28.306 20152-20298/com.emiliogaines.mopedshowcase E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-6657
Process: com.emiliogaines.mopedshowcase, PID: 20152
java.lang.NullPointerException: lock == null
at java.io.Reader.<init>(Reader.java:64)
at java.io.InputStreamReader.<init>(InputStreamReader.java:77)
at com.emiliogaiines.mopedshowcase.commentLayout$2.run(commentLayout.java:140)
at java.lang.Thread.run(Thread.java:818)
07-14 13:50:28.431 20152-20152/com.emiliogaines.mopedshowcase I/Ti

错误指向这一行

reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));

最佳答案

in = ftpClient.retrieveFileStream(name);

此行向您返回一个输入流,该输入流为空或未正确实例化。所以请检查那个 perticuler 方法,总是最好使用 null 检查,比如

if(in != null)

如果您仍然遇到相同的异常,请提供上述方法代码,以便我们解决。

关于java - FTPClient 和 BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31405863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com