首先,提前感谢您提供的任何帮助。
希望我的问题是可以解决的。我有一个应用程序,基本上,它允许用户输入数据,然后通过电子邮件将这些数据作为附件发送。我想做的是,如果用户通过 wifi 连接到他们的网络,那么它不会通过电子邮件发送文件,而是将文件传输到网络共享。我一直在寻找答案很长一段时间,但不幸的是没有办法做到这一点。
所以我想我真正的问题是这是否可能,如果是的话,如何去做。
您需要相应地复制文件,如下所述,在您的情况下,我认为 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);
}
}