我需要写/读word文件,如果有任何第三方,请告诉我。 我使用此代码创建文件->
fun createFile(fileName: String): File? {
val APP_NAME = "Sample App"
val LOCAL_STORAGE_BASE_PATH_FOR_MEDIA = Environment
.getExternalStorageDirectory().toString() + "/" + APP_NAME
val storageDirPath: String = "$LOCAL_STORAGE_BASE_PATH_FOR_MEDIA/User/Docs/"
val TEXT_FILE_PREFIX = "Word_"
val TEXT_FILE_SUFFIX = ".docx" //even I used .doc extension too
var wordFile: File? = null
if (Environment.MEDIA_MOUNTED == Environment
.getExternalStorageState()) {
val storageDir = File(storageDirPath)
if (!storageDir.mkdirs()) {
if (!storageDir.exists()) {
Log.d("CameraSample", "failed to create directory")
return null!!
}
}
wordFile = if (fileName.isEmpty()) {
File.createTempFile(TEXT_FILE_PREFIX + System.currentTimeMillis(),
TEXT_FILE_SUFFIX, storageDir)
} else {
File.createTempFile(TEXT_FILE_PREFIX
+ fileName,
TEXT_FILE_SUFFIX, storageDir)
}
}
return wordFile
}
并使用此功能将文件写入
private fun writeToFile() {
val docFile = createFile()
try {
val fileOutputStream = FileOutputStream(docFile)
val outputStreamWriter = OutputStreamWriter(fileOutputStream)
outputStreamWriter.append(etSpeechArea.text.toString().trim())
outputStreamWriter.close()
fileOutputStream.flush()
fileOutputStream.close()
} catch (e: IOException) {
Log.e("Exception", "File write failed: " + e.toString())
}
}
正在创建和写入文件,但是使用任何Word软件或应用程序打开文件时,表明文件格式无效。有人可以告诉我创建文件时我缺少什么吗?