我有一个向服务器发送字符串文件的方法。现在我需要从Android蓝牙文件夹访问.txt文件并将它们转换为字符串。有人可以帮我这个吗?
答案 0 :(得分:1)
要获取蓝牙文件夹,您应该尝试以下方法。将方法放在AsyncTask
或Thread
中。所以在这里:
public List<File> folderSearchBT(File src, String folder)
throws FileNotFoundException {
List<File> result = new ArrayList<File>();
File[] filesAndDirs = src.listFiles();
List<File> filesDirs = Arrays.asList(filesAndDirs);
for (File file : filesDirs) {
result.add(file); // always add, even if directory
if (!file.isFile()) {
List<File> deeperList = folderSearchBT(file, folder);
result.addAll(deeperList);
}
}
return result;
}
这是一个递归方法,它将src参数中的所有文件夹添加到List中。
public String searchForBluetoothFolder() {
String splitchar = "/";
File root = Environment.getExternalStorageDirectory();
List<File> btFolder = null;
String bt = "bluetooth";
try {
btFolder = folderSearchBT(root, bt);
} catch (FileNotFoundException e) {
Log.e("FILE: ", e.getMessage());
}
for (int i = 0; i < btFolder.size(); i++) {
String g = btFolder.get(i).toString();
String[] subf = g.split(splitchar);
String s = subf[subf.length - 1].toUpperCase();
boolean equals = s.equalsIgnoreCase(bt);
if (equals)
return g;
}
return null; // not found
}
希望这有帮助。
答案 1 :(得分:0)
检查此方法:getExternalFilesDir(String type).并使用DIRECTORY_DOWNLOADS
作为类型。
如果您在最后添加“bluetooth”,您将获得蓝牙下载目录。
然后访问文件