Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只取一个;。jpg";(安卓)_Java_Android_Eclipse_Ftp_Apk - Fatal编程技术网

Java 只取一个;。jpg";(安卓)

Java 只取一个;。jpg";(安卓),java,android,eclipse,ftp,apk,Java,Android,Eclipse,Ftp,Apk,我只想上传我的应用程序.jpg,而不想上传扩展名不同的其他文件 你能告诉我应该在代码中添加什么吗 这是我的代码: public void jetzt() { FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(" FTP SERVER IP"); ftpClient.setSoTimeout(10000); ftpClient.

我只想上传我的应用程序
.jpg
,而不想上传扩展名不同的其他文件

你能告诉我应该在代码中添加什么吗

这是我的代码:

    public void jetzt() {

      FTPClient ftpClient = new FTPClient();
      try {
          ftpClient.connect(" FTP SERVER IP");

          ftpClient.setSoTimeout(10000);
          ftpClient.enterLocalPassiveMode();
          if (ftpClient.login(" LOGIN ", " PASSWORD ")) {
              ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
              ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);

              ftpClient.changeWorkingDirectory("/htdocs");

              final String serial = getManufacturerSerialNumber();
              ftpClient.makeDirectory(serial);
              ftpClient.changeWorkingDirectory(serial);


              final File folder = new File("mnt/sdcard/YmmyCandy");

              for (final File fileEntry : folder.listFiles()) {
                  try {
                      FileInputStream fs = new FileInputStream(fileEntry);
                      if (!fileEntry.isDirectory()) {
                          String fileName = fileEntry.getName();
                          ftpClient.storeFile(fileName, fs);
                          fs.close();
                          Log.i(TAG, "sent");
                      }

                  } catch (Exception e) {
                      Log.i(TAG, "error uploading");
                  }
              }
          }
      } catch (IOException e) {
          e.printStackTrace();
      }
  }

好的,由于您有文件名,您可以检查它是否以.jpg(或.jpeg!)结尾:


好的,由于您有文件名,您可以检查它是否以.jpg(或.jpeg!)结尾:

在这里:

您已经文件名“在手”;但是,您只需上传所有文件,而不是编写一个简单的检查,如
if(fileName.endsWith(“.jpeg”)

当然,事情需要改进。如果您确切地知道所有文件都以.jpeg结尾,那么这是可行的,但也许jpg、jpg等也应该可行

如果你想要一个真正“完整”的解决方案,你必须检查每个文件的类型。

这里:

您已经文件名“在手”;但是,您只需上传所有文件,而不是编写一个简单的检查,如
if(fileName.endsWith(“.jpeg”)

当然,事情需要改进。如果您确切地知道所有文件都以.jpeg结尾,那么这是可行的,但也许jpg、jpg等也应该可行


如果您想要一个真正“完整”的解决方案,您必须检查每个文件的类型。

请在发布问题之前进行一些研究。此副本在10秒内被发现,这应该可以回答您的问题谢谢您的回答。请在发布问题之前做一些研究。这个副本在10秒内被发现,这应该能回答你的问题。谢谢你的回答。这就是工作!谢谢你,古丁:)这就是工作!谢谢你,古丁:)谢谢你的回答。不客气,但请记住:你接受的答案太复杂了。拆分文件名没有意义;你可以去检查那一个字符串的结尾!顺便说一句:你可能想把整个检查放在自己的方法中,比如
boolean isJpeg(String filname)
——因为这将使你更容易更改你正在进行的检查的确切类型。谢谢你的回答。欢迎你回答:但是请记住:你接受的答案太复杂了。拆分文件名没有意义;你可以去检查那一个字符串的结尾!顺便说一句:您可能希望将整个检查放在自己的方法中,比如
boolean isJpeg(String filneName)
——因为这将使您更容易更改正在执行的确切检查类型。
    String filenameArray[] = fileEntry.getName().split("\\.");
    String extension = filenameArray[filenameArray.length-1];
    if (extension.equals("jpg") || extensions.equals("jpeg")) {...}
for (final File fileEntry : folder.listFiles()) {
    ...
    String fileName = fileEntry.getName();
    ftpClient.storeFile(fileName, fs);