Context提供2个方法打开应用程序的数据文件夹里的文件IO流。
1) FileInputStream openFileInput(String name) 打开应用程序的数据文件夹下的name文件对应的输入流。
2)FileOutputStream openFileOutput(String name,int mode) 打开应用程序的数据文件夹下的name文件对应的输出流。
读文件输入流,写文件输出流
3)getDir(String name,int mode):在应用程序的数据文件下获取或创建name对应的子目录。
4)File getFileDir():获取该应用程序的数据文件下的绝对路径。
5)String[] fileList():获取该应用程序的数据文件下的全部文件。
6)deleteFile(String) :删除指定文件
<!-- SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 向SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File saveFile=new File("/sdcard/zhzhg.txt");
或:File sdCardDir=new File("/sdcard");//获取SD卡目录
File saveFile = new File(sdCardDir,"zhzhg.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("文件的读写".getBytes());
outStream.close();
mkdir() 只能在已经存在的目录中创建创建文件夹。
mkdirs() 可以在不存在的目录中创建文件夹。
public File(String path,String name);//path是路径名,name是文件名
public File(File dir,String name);//dir是路径名,name是文件名
等价于File(String pathname)
答:若文件平夹是:d:/abc 子文件夹是:def(当然是在abc之下的)
File f=new File(new File("d:/abc"),"def");
或: File f=new File("d:/abc","def");
String datafile = new File("").getAbsolutePath() + File.separator + "datafile";
这个是获得一个绝对路径的方法, new File("").getAbsolutePath() 取得项目所在服务器的存放位置就是绝对路径, File.separator 在windows是 \ unix是 / ,然后再加上一个字符串 "datafile",其实就是得到datafile在服务器的绝对路径。就是说datafile存放的是一个文件的绝对路径
就像String datafile = C:\a\b\datafile
String path="/mnt/sdcard/"; //我随便给的一个目录
File f=new File(path); //new的一个File对象
if(f.isDirectory()) //如果path表示的是一个目录则返回true
File[] files =f.listFiles()//获取当前文件夹下的所有文件和文件夹
判断是否存在文件夹,不存在则新建
File file = new File("D:/test/filetest/test.txt");
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
判断是否存在文件,不存在则新建
File file = new File("D:/test/filetest/test.txt");
if (!file.exists()) {
file.createNewFile();
}