- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以我有这段代码应该从 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/
自从我不得不从 java ftp 文件以来已经有很多年了,所以我对这种可能性有点脱节。我找到的文档列出了我使用的两种可能性。标准 Sun ftp 实现和 Apache 的 Jakarta ftp 解决
我尝试在我的应用程序中使用 ftp 客户端 第一个我使用org.apache.commons.net.ftp.FTPClient 但在Linux服务器上运行时 可以登录ftp服务器,但无法获取文件列表
我的 ftp 位置有 3 个不同大小的文件,分别是 2KB、76KB 和 216MB。我必须一个接一个地处理这些文件,我可以使用retrieveFileStream(FILE_NAME_HERE)轻松
FTPClient.changeWorkingDirectory & changeToParentDirectory()。如何更改 ftpCient 中的目录。在资源管理器中,ftp 路径如下所示 f
我有一个给定的 FTP 服务器。我可以通过 WinSCP 和其他程序连接到服务器。我已经通过 Java 连接到服务器,但过了一会儿我无法连接。根据 WinSCP,我可以一直连接。现在的问题是服务器是问
我正在尝试从 ftp 服务器下载文件,但在检索文件时卡住了。我正在使用 commons-net-3.6.jar 我注意到的事情 当我使用 ftpClient.enterRemotePassiveMod
我想从 Android 应用程序上传文件到 FTP 服务器。我为此使用 ftp4j.jar,因为它具有附加功能,可以附加到服务器上已有的文件。以前工作正常,但现在它已停止工作附加文件。其余正在工作。我
我正在制作一个应用程序,可让您一次将最多 5 个文件上传到服务器。我正在使用 apache FTPClient 和 Filezilla 服务器。当我一次上传一个文件时,它可以工作,但是当我尝试进行 2
大家好,我正在尝试上传一个小文件,如 4mb 或其他带有 apache commons ftpclient 的文件,但它没有上传我的文件,没有给我任何错误,并说上传成功这是我的代码,请提前帮助我谢谢.
我正在使用 Apache Commons net FTPClient 登录 FTP 服务器并读取文件。我成功登录,并且可以看到它登录成功,因为它在标题字符串中显示了工作目录路径。但是,当我使用 lis
我试图从 ftp 服务器获取列表并且有编码问题 FTPClient.listfiles(String path) 方法 如果路径包含非拉丁字符,它总是返回空数组。 (我也在 unicode 中使用带有
我制作了一个小应用程序,可以将文件上传到 FTP 服务器。问题是我在方法中使用了被动模式 enterLocalPassiveMode() 最近有人告诉我在 FTP 服务器上不允许使用被动模式,所以我应
我写了一个从 FTP 服务器下载文件的 java 类。一切看起来都很好,但是当我检查文件大小时,它们比原始文件小一点。 知道为什么会这样吗? import java.io.FileOutputStre
我正在使用 Apache FTPClient 获取文件和子目录文件列表。但它无法从带空格的目录名称中获取文件列表。这是一个示例 - 我尝试了两个不同的目录: FTPClient client
我是 android 和 java 编程的新手。我写了下面的代码来连接到 ftp 服务器 public class NewMainActivity extends Activity { TextVie
1、Ubuntu 安装 Vsftpd 服务 1、安装 sudo apt-get install vsftpd 2、添加用户(uftp) sudo useradd -d /home/
我有一个本地 FTP 服务器(使用 FileZilla 服务器创建),并且 XLS 文件很少。我需要将文件输入流返回到我的 Java 应用程序,以便我可以解析数据等。 为此,我尝试使用 FTPClie
我尝试使用 FTPClient 类进行连接。这段代码运行完美: client.connect("172.20.5.131"); 但是当 IP 地址类似于 -1406991772 时,我无法连接。我怎样
我正在使用 FTPClient (org.apache.commons.net.ftp.FTPClient) 将一些文件上传到 FTP 服务器。 我需要检查父目录是否存在;并根据需要创建它们
我必须上传一个zip文件到ftp服务器,这里的zip文件也是动态构建的。 import java.io.File; import java.io.FileInputStream; import jav
我是一名优秀的程序员,十分优秀!