Android:读取所选文件和 returns 字符串的函数
Android: A function that reads a chosen file and returns String
我为 Mac/Windows 制作了一个应用程序。在这些 OSes 上,我可以使用 JFileChooser 从我的计算机中选择一个文件。但我打算为 Android 制作我的应用程序的移动版本。这是我提到的功能代码,适用于桌面 OS:
public static String readFile() {
JFileChooser fc;
File file;
fc = new JFileChooser(defaultPath);
if (fc.showOpenDialog(new JFrame()) == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
} else {
return null;
}
try {
Scanner reader = new Scanner(file);
content = reader.useDelimiter("\A").next();
} catch (IOException e) {
System.exit(0);
}
return content;
}
我的问题是:如何让它在 Android 上运行?
如评论中所述,您无法通过一种功能完成所有工作。
这是允许用户选择文件的几个库之一。
https://github.com/iPaulPro/aFileChooser
还有很多其他的。
一旦你有了文件的路径,你就可以阅读它,例如使用这个片段(或类似的东西,你可以适应你的需要)
String mResponse;
File file = new File(*path*, *name*);
try {
FileInputStream is = new FileInputStream(file);
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
mResponse = new String(buffer);
} catch (IOException e) {
e.printStackTrace();
return false;
}
我为 Mac/Windows 制作了一个应用程序。在这些 OSes 上,我可以使用 JFileChooser 从我的计算机中选择一个文件。但我打算为 Android 制作我的应用程序的移动版本。这是我提到的功能代码,适用于桌面 OS:
public static String readFile() {
JFileChooser fc;
File file;
fc = new JFileChooser(defaultPath);
if (fc.showOpenDialog(new JFrame()) == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
} else {
return null;
}
try {
Scanner reader = new Scanner(file);
content = reader.useDelimiter("\A").next();
} catch (IOException e) {
System.exit(0);
}
return content;
}
我的问题是:如何让它在 Android 上运行?
如评论中所述,您无法通过一种功能完成所有工作。 这是允许用户选择文件的几个库之一。 https://github.com/iPaulPro/aFileChooser 还有很多其他的。 一旦你有了文件的路径,你就可以阅读它,例如使用这个片段(或类似的东西,你可以适应你的需要)
String mResponse;
File file = new File(*path*, *name*);
try {
FileInputStream is = new FileInputStream(file);
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
mResponse = new String(buffer);
} catch (IOException e) {
e.printStackTrace();
return false;
}