Java程序设计学习
package glc;
import java.io.File;
import java.io.IOException;
/*
*
- file类
- 创建一个文件/文件夹
- 删除一个文件、文件夹
- 获取文件、文件夹
- 判断文件或者文件夹
- 对文件进行遍历
- 获取文件大小
- File是一个与操作系统无关的类
- 记住三个单词:
- file:文件
- directory:目录、文件夹
- path:路径
*/
public class AFile {
public static void main(String[] args) {
//路径分隔符
String pathSeparator=File.pathSeparator;
System.out.println(pathSeparator);//win是分号; Linux:冒号
String separator=File.separator;
System.out.println(separator);//文件名称分隔符 \ Linux: /root/home/
//绝对路径C:\Users\admin\Desktop\HBuilderX
//相对路径 …/…/
//show01();
//show02("D:\\rxp\\java","test");
//show03();
//常用方法演示
//show04();
//show05();
show06();
show07();
show08();
//show09();
//show10();
//show11();
show12();
}
private static void show12() {
File f1= new File(“D:\rxp\java\20\day-20\hello.java”);
boolean b1=f1.delete();
System.out.println(b1);
//直接从硬盘删除,不会放入回收站
File f2= new File(“rxp\1\2\33\44”);//相对路径,但是会自动补齐
boolean b2=f2.delete();
System.out.println(b2);
}
private static void show11() {
//如果路径不存在,只能返回false
File f1= new File("D:\\rxp\\java\\20\\day-20\\hello.java");
boolean b1=f1.mkdir();//只能创建一个文件夹
System.out.println(b1);
File f2= new File("D:\\rxp\\java\\20\\day-20\\1\\2\\33\\44\\hello.java");
boolean b2=f2.mkdirs();//递归创建文件夹
System.out.println(b2);
}
private static void show10() throws IOException {
File f1= new File("D:\\rxp\\java\\20\\day-20\\hello.java");
boolean b1=f1.createNewFile();
System.out.println(b1);
//第二次执行的时候返回 F=false ,因为文件已经存在
File f2= new File("D:\\rxp\\java\\20\\day-20\\新建文件夹");
//不要看文件的名字,必须看类型
boolean b2=f2.createNewFile();
System.out.println(b2);
}
private static void show09() {
File f1= new File("D:\\rxp\\java\\20\\day-20");
if(f1.exists()) {//返回 true,进入if语句
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());
}
System.out.println("=====================");
File f2= new File("D:\\rxp\\java\\20\\day-20\\classfive");
if(f2.exists()) {//不存在返回false,所以不会进入if语句
System.out.println(f2.isDirectory());
System.out.println(f2.isFile());
}
System.out.println("=====================");
File f3= new File("D:\\rxp\\java\\20\\day-20\\classpath");
if(f2.exists()) {//不存在返回false,所以不会进入if语句
System.out.println(f3.isDirectory());
System.out.println(f3.isFile());
}
}
private static void show08() {
File f1=new File(“D:\rxp\java\20\day20_code”);
System.out.println(f1.exists());//ture
File f2=new File(“D:\rxp\java\20\day20_code//classfive”);
System.out.println(f2.exists());//false
}
//注意:文件夹没有大小的概念,不能获取文件夹的大小
//
private static void show07() {
File f1=new File(“D:\rxp\java\20\day20_code”);
System.out.println(f1.length());//文件的大小是0
File f2=new File(“D:\rxp\java\20\day20_code\classfive”);
System.out.println(f2.length());//不存在的文件夹,打印大小为0
File f3=new File(“D:\rxp\java\20\day20_code\classpath”);
System.out.println(f3.length());//最后为文件的情况,且文件存在,打印文件大小
File f4=new File(“D:\rxp\java\20\day20_code\hello.java”);
System.out.println(f4.length());//最后为文件的情况,且文件不存在,打印文件大小
}
private static void show06() {
File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
File f2=new File(“D:\\rxp\\java\\20\\day20_code”);
//获取的是构造方法传递路径结尾部分
System.out.println(f1.getName());
System.out.println(f2.getName());
}
private static void show05() {
File f1=new File(“D:\rxp\java\20\day20_code\hello.java”);
File f2=new File(“a.txt”);
String path1=f1.getPath();
System.out.println(path1);
System.out.println(f2.getPath());
System.out.println(f1);//D:\rxp\java\20\day20_code\hello.java
System.out.println(f1.toString());//D:\rxp\java\20\day20_code\hello.java
}
private static void show04() {
File f1=new File(“D:\rxp\java\test\hello.java”);
String absolutepath1=f1.getAbsolutePath();
System.out.println(absolutepath1);
File f2=new File(“hello.java”);//相对路径创建
//创建的时候,是放在项目路径下面
String absolutepath2=f2.getAbsolutePath();
System.out.println(absolutepath2);//获取绝对路径
}
private static void show03() {
File parent=new File(“D:\rxp\java\test”);
File f1=new File(parent,“hello.java”);
System.out.println(f1);
}
private static void show02(String parent, String child) {
File f1=new File(parent,child);
System.out.println(f1);
}
private static void show01() {
File f1=new File(“D:\rxp\java\test”);
System.out.println(f1);
File f2=new File(“D:\rxp\java\a.test”);
System.out.println(f2);
File f3=new File(“b.txt”);
System.out.println(f3);
}
}
package glc1;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/* * * 构造方法的作用: * 1、创建了一个FileOutputStream对象 * 2、根据构造方法中传递的文件/文件路径,创建一个空的文件 * 3、会把FileOutputStream对象指向创建的文件 * * 写入过程: * java程序 -->jvm (java 虚拟机) -->os(操作系统上)–>会调用对应的驱动–>把数据写入文件 * */public class AOutputStream {public static void main(String[] args) throws IOException { //创建一个FileOutputStream对象,构造方法中传入数据目的地 FileOutputStream fos=new FileOutputStream(“a.txt”); //调用write方法,将数据写入到文件中 //fos.write(49); //fos.write(43); //fos.write(35); //释放资源 //fos.write(100);错误写法 //fos.write(49); //fos.write(43); //fos.write(35); //byte[] bytes= {65,66,67,68}; //byte[] bytes= {-65,-66,-67,-68};//会被当做中文来解释 byte[] bytes= {65,66,67,68,69,70}; fos.write(bytes,2,3); fos.close();}}