1.//封装文件或者文件夹
File file = new File("D:\\Project");
if(file.exists())
{
if(file.isDirectory())
{
System.out.println(file+" isDirectory");
}else
{
System.out.println(file+" isFile");
}
}else
{
file.mkdirs();
}
File file2 = new File("D:\\Project\\1.txt");
if(file2.exists())
{
if(file2.isDirectory())
{
System.out.println(file2+" isDirectory");
}else
{
System.out.println(file2+" isFile");
}
}else
{
file2.createNewFile();
}
File[] files = file.listFiles();
for (File f : files) {
System.out.println(f);
}
//获取可用目录
File[] listRoots = File.listRoots();
for (File file : listRoots) {
System.out.println(file);
}
2.对文件和文件夹的操作
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getParent());
System.out.println(file2.getPath());
System.out.println(file2.getName());
File file3 = new File("D:\\Project\\2.txt");
//renameTo前提file3文件不存在,可当做是move文件并重命名,返回true
System.out.println(file2.renameTo(file3));
3.File对象作为参数传递给流的构造函数
FileOutputStream out = new FileOutputStream(file3);
byte[] bytes = "abcdefgh".getBytes();
for (byte b : bytes) {
out.write(b);
}
out.close();
File file4 = new File("D:\\Project\\3.txt");
if(!file4.exists())
{
file4.createNewFile();
}
FileInputStream in = new FileInputStream(file3);
FileOutputStream out2 = new FileOutputStream(file4);
int b;
while ((b = in.read()) != -1) {
out2.write(b);
}
in.close();
out2.close();