android - paths.get(fileName);对于api 16

时间:2017-11-02 15:35:22

标签: android api path

我想在文本文件中保存一个ArrayList,然后再读一遍。 我的代码是:

public static ArrayList readFromFile(String filename){
    ArrayList<String> myList = new ArrayList<String>();
    try{
        Scanner sc = new Scanner(new File(filename));
        while(sc.hasNextLine()){
            myList.add(sc.nextLine());
        }
        sc.close();
    }catch (FileNotFoundException e){
        e.printStackTrace();
    }
    return myList;
}

public static void saveToFile(String fileName, ArrayList list){
    Path filePath = Paths.get(fileName);

    try {
        Files.write(filePath, list, Charset.defaultCharset());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

但我有两个问题: 1. Paths.get();仅在api 26之后才可用 2.我无法测试此代码,因为我有一台amd pc而且没有api 26的模拟器

2 个答案:

答案 0 :(得分:0)

Path和Files是Java中非常新的类。 尝试使用OutputStream以旧方式写入文件。有很多教程,例如https://www.mkyong.com/java/how-to-write-to-file-in-java-fileoutputstream-example/

答案 1 :(得分:0)

这是一种使用较旧的path.join(__dirname, '/../css')库(将其在api 16下运行)将列表写入文件的简单方法。

/

有关更多选项和详细信息,请参见this questionjava.io.FileWriter库。