我正在尝试通过FTP检索文件,但我在LogCat中收到以下错误: java.io.FileNotFoundException:/ config.txt(只读文件系统)
我已验证该文件存在于服务器上,我可以通过在网络浏览器中双击它来阅读它。
有人可以帮忙吗?这是我正在使用的代码:
FTPClient client = new FTPClient();
FileOutputStream fos = null;
try {
client.connect("xxx.xxx.xxx.xxx");
client.enterLocalPassiveMode();
client.login("user", "pass");
//
// The remote file to be downloaded.
//
String filename = "config.txt";
fos = new FileOutputStream(filename);
//
// Download file from FTP server
//
client.retrieveFile("/" + filename, fos);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您无法在手机根目录中保存文件。使用Environment.getExternalStorageDirectory()
获取SD卡目录的文件对象并将文件保存在那里。也许为它创建一个目录。为此,您需要权限android.permission.WRITE_EXTERNAL_STORAGE
。
示例代码:
try {
File external = Environment.getExternalStorageDirectory();
String pathTofile = external.getAbsolutePath() + "/config.txt";
FileOutputStream file = new FileOutputStream(pathTofile);
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您正在尝试读取该文件,但您已创建OutputStream
,您需要创建inputStream
,然后从该输入流中读取该文件。
这是一篇很棒的文章,其代码非常有用。这应该让你朝着正确的方向前进。
http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
我希望这有帮助!
祝你好运