一、利用File类获取文件或文件夹相关信息
File f = new File("JavaFile\\a.txt");
if(f.exists()) //是否存在
{
System.out.println("名字:" + f.getName());
System.out.println("相对路径:" + f.getPath());
System.out.println("物理路径:" + f.getAbsolutePath());
System.out.println("文件大小:" + f.length() + "字节");
}
如果在Java项目根目录添加JavaFile文件夹,文件夹下复制一个a.txt文件进去。
getName:获取文件或文件夹名称。
getPath:获取文件或文件夹相对路径。
getAbsolutePath:获取文件或文件夹物理路径。
length:获取文件大小,字节为单位,如果f是目录,不是文件,其值为0。
二、利用File类对文件或文件夹进行基本操作
文件创建:
File f = new File("C:\\JavaFile\\b.txt");
if(!f.exists()) //判断文件是否存在
{
try {
f.createNewFile(); //创建文件
} catch (IOException e) {
e.printStackTrace();
}
}
文件夹创建:
File f = new File("C:\\JavaFile\\MyFile");
if(!f.exists()) //判断文件夹是否存在
{
f.mkdirs();
}
删除文件:
File f = new File("C:\\JavaFile\\b.txt");
if(f.exists()) //判断文件是否存在
{
f.delete(); //删除
}
删除文件夹(只能删除空文件夹):
File f = new File("C:\\JavaFile\\MyFile");
if(f.exists())
{
f.delete();
}
三、FileInputStream和FileOutputStream进行文件读写
FileInputStream读文件:
FileInputStream fis = null;
try {
fis = new FileInputStream("C:\\JavaFile\\a.txt");
int size = fis.available(); //取文件大小(字节)
byte[] arr = new byte[size];
fis.read(arr); //将文件读取到字节数组
String str = new String(arr); //字节数组转字符串
System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
FileOutputStream写文件:
FileOutputStream fos = null;
try {
fos = new FileOutputStream("C:\\JavaFile\\b.txt");
String str = "Hello,Java";
byte[] arr =str.getBytes(); //将字符串编程字节数组
fos.write(arr);
} catch (Exception e) {
e.printStackTrace();
}
finally
{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}