0

首先,提前感谢您提供的任何帮助。

希望我的问题是可以解决的。我有一个应用程序,基本上,它允许用户输入数据,然后通过电子邮件将这些数据作为附件发送。我想做的是,如果用户通过 wifi 连接到他们的网络,那么它不会通过电子邮件发送文件,而是将文件传输到网络共享。我一直在寻找答案很长一段时间,但不幸的是没有办法做到这一点。

所以我想我真正的问题是这是否可能,如果是的话,如何去做。

4

1 回答 1

1

您需要相应地复制文件,如下所述,在您的情况下,我认为 destFile会这样设置...

new File("\\\\server\\path\\to\\file.txt")

class FileUtils {
  public static boolean copyFile(File source, File dest) {
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;

    try {
      bis = new BufferedInputStream(new FileInputStream(source));
      bos = new BufferedOutputStream(new FileOutputStream(dest, false));

      byte[] buf = new byte[1024];
      bis.read(buf);

      do {
        bos.write(buf);
      } while(bis.read(buf) != -1);
    } catch (IOException e) {
      return false;
    } finally {
      try {
        if (bis != null) bis.close();
        if (bos != null) bos.close();
      } catch (IOException e) {
        return false;
      }
    }

    return true;
  }

  // WARNING ! Inefficient if source and dest are on the same filesystem !
  public static boolean moveFile(File source, File dest) {
    return copyFile(source, dest) && source.delete();
  }

  // Returns true if the sdcard is mounted rw
  public static boolean isSDMounted() {
    return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
  }
}
于 2013-06-19T19:43:29.327 回答