0

我决定使用内部存储将文件保存到文件夹中。我的代码是:

File dir = new File (getFilesDir(), "myFolder");
dir.mkdirs();
File file = new File(dir, "myData.txt");

try {
    FileOutputStream f = new FileOutputStream(file);
    PrintWriter pw = new PrintWriter(f);
    pw.println("Hi");
    pw.println("Hello");
    pw.flush();
    pw.close();
    f.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();

} catch (IOException e) {
    e.printStackTrace();
}   
tv.append("\n\nFile written to "+file);

显示的目录是 data/data/packageName/file/myFolder/myData.txt 但是,我想检查文件是否包含输入的字符串,但我似乎无法找到创建的文件在哪里。我试图输出文件的内容,但失败了。我知道这听起来很荒谬。我想做的就是检查内容并知道是否创建了文件。有人可以帮忙吗?

4

2 回答 2

0

从文件中打开一个输入流并逐行读取。

FileInputStream f = new FileInputStream(new File(getFilesDir()+"/myFolder/"+"myData.txt"));
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
while (dis.available() != 0) {
    System.out.println(dis.readLine());
}
于 2013-02-19T18:27:34.727 回答
0

在最后加上这段代码,

try {
        File file = new File(dir, "myData.txt");
        Scanner sc = new Scanner(file);

        while(sc.hasNext()){
            System.out.println(sc.nextLine());
        }

    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    }
于 2013-02-19T18:33:12.403 回答