我想从我的应用程序中保存可以从各种设备(手机,平板电脑,计算机等)打开的文本,在进行研究后,我认为docx将是最佳选择。我需要让文本是等宽的,这样一个简单的.txt文件就行不通了。我注意到,当我保存此文件并尝试使用QuickOffice或POLARIS或我手机或平板电脑上的任何其他办公类型应用程序打开它时,我收到一条消息"不支持的文件"。我可以使用我的电脑在办公室打开它,但我收到一条消息说我需要选择编码。我的程序中有没有办法设置fontFamily
或类似的东西来解决这个问题?
我假设它使用Android的默认字体进行保存,并且该字体在这些其他应用程序中不存在,因此它无法识别它。但我可能是错的。任何帮助,将不胜感激!这是我保存的代码:(我应该注意string1(2)(3)来自TextView
private void saveResults() {
SimpleDateFormat format = new SimpleDateFormat("yyMMddHHmmss", Locale.getDefault());
String timeStamp = format.format(new Date());
String filename = timeStamp + "_Results.docx";
CharSequence fileOutput = "Results:\n" + string1 + "\n" + string2 + "\n\n" +
string3;
if(isExternalStorageWritable()){
try{
File file = new File(Environment.getExternalStorageDirectory(), filename);
file.createNewFile();
FileOutputStream fileOut = new FileOutputStream(file);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fileOut);
myOutWriter.append(fileOutput);
myOutWriter.close();
fileOut.close();
Toast.makeText(getBaseContext(),
"Saved " + filename + " to " + Environment.getExternalStorageDirectory(),
Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(getBaseContext(), "Cannot write to external storage", Toast.LENGTH_SHORT).show();
}
}