使用Activity 类的openFileInput()和openFileOutput方法来操作设备上的文件,创建的文件默认存在“/data/data/<pakage name>/files”目录下,如在包名为【com.company.business】的程序中创建一个【data.txt】文件,存放路径将是【/data/data/com.company.business/file/date.txt】.在默认状态下,文件不能在不同的程序之间共享,这两个方法只支持读取该应用目录下的文件,若读取非自身目录下的文件将会抛出FileNotFoundException异常。
关键的实现代码如下,建议将这两个方法放入两个菜单选项中进行调用,以查看程序效果。
(1)读取文件代码
public void readFile(String sFileName){ try { FileInputStream fis = openFileinput(sFileName); //将字节流转换成字符流 InputStreamReader inreader = new InputStreamReader(fis); //转换成带缓存的bufferedReader BufferedReaader bufferedReader = new BufferedReader(inReader); String s; while ((s = bufferedReader.readLine())!=null){ Toast.makeText(this,s,Toast.LENGTH_LONG).show(); } fis.close();//关闭输入流 }catch (Exception ex) ex.printStackTrace(); } }
(2)写入文件代码
public void writeFile(String sFileName){ String s = "hello"; s = s+"/n"+"Nice to meet you"; try{ //定义一个文件字节输出流,名字为sFileName FileOutputStream fos = openFileOutput(sFileName,0); //将文件字节输入出流转换成文件字符输出流 OutputStreamWriter outWriter = new OutputStreamWriter(fos); //再将文件字符输出流转换成缓存字符输出流 BufferedWriter bufferedWriter = new BufferedWriter(outWriter); //使用write方法将信息写入文件 bufferedWriter.writer(s); bufferedWriter.flush(); fos.close(); }catch (Exception ex){ ex.printStackTrace(); } }
时间: 2024-10-05 19:47:19