您希望为Android创建一个应用程序,该应用程序必须使用外部应用程序打开创建和修改注释文件(仅文本)。我知道我不知道如何调用外部应用程序的路径。感谢。
答案 0 :(得分:0)
以下是从sdcard
root读取文本文件的代码:
package com.dEvElOpIt.writepad;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.util.Log;
public class FileOperations {
public FileOperations() {
}
@SuppressLint("SdCardPath")
public Boolean write(String fname, String fcontent) {
try {
String fpath = "/sdcard/" + fname + ".txt";
File file = new File(fpath);
// If file does not exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fcontent);
bw.close();
Log.d("Suceess", "Sucess");
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public String read(String fname) {
BufferedReader br = null;
String response = null;
try {
StringBuffer output = new StringBuffer();
String fpath = "/sdcard/" + fname + ".txt";
br = new BufferedReader(new FileReader(fpath));
String line = "";
while ((line = br.readLine()) != null) {
output.append(line + "\n");
}
response = output.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return response;
}
}
现在您可以按照以下说明获取text
文件的数据:
String fileName = input.getText().toString();
FileOperations fop = new FileOperations();
String text = fop.read(fileName);
其中fileName
是要从sdcard
的根目录加载的文件的名称。
如下所述,如果您想将数据保存为sdcard
root中的文本文件:
FileOperations fop = new FileOperations();
fop.write(mTitleText.getText().toString(), mBodyText.getText()
.toString());
if (fop.write(fileName, fileContent) {
Toast.makeText(
getApplicationContext(),
mTitleText.getText().toString()
fileName+ ".txt Successfully saved",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "I/O error",
Toast.LENGTH_SHORT).show();
}
其中fileName
是要从sdcard
的根加载的文件的名称,
和fileContent
是要保存的文本文件的内容。
不要忘记在AndroidManifest.xml
文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
希望这有帮助!