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 に答える