文件读取不适用于Android

时间:2012-01-27 09:35:25

标签: android

我是一个Android新手并编写了这个代码用于文件处理,但由于某种原因,我总是从文件中获取空值。我也试过使用readline()但得到了相同的结果。非常感谢任何帮助。

        @Override
        public void onClick(View v) 
        {
            // TODO Auto-generated method stub
            String file = "test123";
            try 
            {
                OutputStream out =  v.getContext().openFileOutput(file, MODE_PRIVATE);
                InputStream in =  v.getContext().openFileInput(file);
                WriteFile(out);
                String str = ReadFile(in);

                Toast.makeText(v.getContext(), str, Toast.LENGTH_LONG);
            } catch (FileNotFoundException e) 
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
}

public static void WriteFile(OutputStream out)
{
    OutputStreamWriter tmp = new OutputStreamWriter(out);

    try 
    {
        for (int i = 0 ; i < 10; i++)
        {
            tmp.write(i);
        }
    } 
    catch (IOException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();            
    }
}

public static String ReadFile(InputStream in)
{
    InputStreamReader tmp = null;
    String str = "";        

    tmp = new InputStreamReader(in);
    BufferedReader reader=new BufferedReader(tmp);                      

    try 
    {
        for (int i = 0; i < 10; i++)
        {
            str += " " + reader.readLine();             
        }           

    } 
    catch (IOException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   

    return str;
}    

}

1 个答案:

答案 0 :(得分:1)

String file = "test123"; 因此,您的文件路径应为{root}/test123 尝试定义路径,您可以访问以查看它是否已写入某些内容。 (通常:/ mnt / storage / your_file) 然后,您将能够确定写入/读取过程是否有效

注意:看看FileOutputStream,它已经实现了许多有用的方法