Android如何从内存中访问文件?

时间:2013-12-03 10:53:34

标签: java android

我有一个向服务器发送字符串文件的方法。现在我需要从Android蓝牙文件夹访问.txt文件并将它们转换为字符串。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

要获取蓝牙文件夹,您应该尝试以下方法。将方法放在AsyncTaskThread中。所以在这里:

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”,您将获得蓝牙下载目录。

然后访问文件