java - 写入文件不会写入

标签 java android file email file-io

正如标题所述,我创建一个新文件,然后将该文件作为电子邮件附件发送

文件创建代码:

newFile = new File("/sdcard/" + TEMPFILENAME);
if (newFile.exists()) {
    newFile.delete();
}
newFile.createNewFile();
for (int j = 0; j < arrayList.size(); j++) {
    writeFileToStorage(TEMPFILENAME, arrayList.get(j).AccountName, arrayList.get(j).UserName, encryptString(arrayList.get(j).Password));
}
recipient = emailEdit.getText().toString();
new EmailSender().execute();

然后在我的电子邮件服务类中我有以下内容

MimeMessage message = new MimeMessage(session);
MimeMultipart multipart = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(file.getAbsolutePath());
DataHandler handler = new DataHandler(source);

message.setSender(new InternetAddress(sender));
message.setSubject(subject);
message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));

messageBodyPart.setDataHandler(handler);
messageBodyPart.setFileName(file.getName());
multipart.addBodyPart(messageBodyPart);

message.setContent(multipart);
Transport.send(message);

文件以正确的名称从正确的收件人/发件人处发送,但文件始终为空。

有什么想法吗?

编辑:

writeFileToStorage的实现,它在保存数据时定期在应用程序中运行

try {
    bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput(fName, MODE_APPEND)));
    bufferedWriter.write(aName);
    bufferedWriter.newLine();
    bufferedWriter.write(_uName);
    bufferedWriter.newLine();
    bufferedWriter.write(_pWord);
    bufferedWriter.newLine();
    bufferedWriter.close();
    Log.d("Wrote: ", ("AccountName: "+ aName + " UserName: " + _uName + " Password: " + _pWord+ " to: " + fName));
} catch (Exception err) {
    String writeError = getString(R.string.write_error);
    Toast.makeText(getBaseContext(), writeError, Toast.LENGTH_SHORT).show();
}

最佳答案

您如何编写 writeFileToStorage(...) 方法会很有趣。

调用 newFile.createNewFile(); 后,您的 newFile 将不会被操作。

编辑:您的 writeFileToStorage(...) 方法似乎不起作用。参数fname不正确。

关于java - 写入文件不会写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417168/

相关文章:

java - Picocontainer 2.14.3 和 AOP

java - 如何避免连续出现 "Resetting offset"和 "Seeking to LATEST offset"?

Android Studio 添加基于 maven 的项目 libas 依赖项

安卓比例 View

Android Autocompletetextview多行

c:从文件中读取

java - NumberFormatException 给定一个包含小整数的输入字符串

java - 这是使用扫描仪扫描多个输入的方法吗

java - 从 Java 获取毫秒分辨率的文件 mtime

java - 找不到一种方法让我的计算方法输出一个值而不是 100