IO(1)

	学习的起点是问题,而不是知识。
	当你专注于研究探索你好奇事情时,你真的会沉溺于学习无法自拔,感觉不到时间的流逝。而让你死记硬背的时候,你一定更多地是充满绝望。
																		_________



File是一个类,可以有构造器创建其对象,对应一个文件或文件目录。

**list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组

listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

访问文件名:getName(); getPath(); getbsoluteFile();

	getAbsoluePath();获取绝对路径 	getParent();获取上级目录	 file1.renameTo(File  newName);

文件检测:exists(); canWrite() canRead(); isFile();是否文件

	isDirectory();	是否文件夹		file.length();文件大小		

文件最后修改时间:simpleDateFormat(“YYYY-mm-dd hh:mm:ss”).format(new Date(file.lastModfied() ) );

文件操作相关

创建

递归遍历文件夹/文件
public static void main(String[] args) {
	File file=new File("F:/一阶段笔记");

	printFile(file);
}

public static void printFile(File file){
	File[] file1=file.listFiles();		//listFiles
	for (File file2 : file1) {
		if(file2.isDirectory()){	 //是文件夹的话继续遍历里面的文件
			printFile(file2);		//递归
		}
		System.out.println(file2);
	}
}

FileOutputStream

fos.write(“abc”.getBytes()); 往文件中写入abc String 转为字节类型

fos.write(“abc\r\n”); windows下\r\n换行

IO流

inputStream 读入数据

自定义缓冲区

字节流 -文件的复制

close()关闭资源 规则 : 先开后关,先关读入的,再关写出。

字节流 文件的复制–自定义缓冲,一次读入字节数 new byte[]

		FileInputStream fi=new FileInputStream("F:/一阶段笔记/a.txt");//   读入文件数据
		FileOutputStream fos=new FileOutputStream("F:/一阶段笔记/b.txt");//存在b.txt直接覆盖,没有就创建

		byte[] by=new byte[3];	//一次读3个字节
		int j;
		while((j=fi.read(by))!=-1){
			fos.write(by,0,j);                  		 //一次写出3个字节
			System.out.println(new String(by,0,j));		 //
		}

			fos.close();
}

FileReader FileWriter 字符流

1.字符流 读入字符 ,  2.字符流 键盘输入字符
public static void main(String[] args) throws IOException {
	FileReader fr=new FileReader("F:/一阶段笔记/a.txt");
	char[] ch=new char[1024];// 	读入字符数据     char[]
	int i;
		while((i=fr.read(ch))!=-1){//System.out.println(fr.read(ch, 0, i));
			System.out.println(new String(ch, 0, i));
		}
		FileWriter fw=new FileWriter("F:/一阶段笔记/b.txt");
		Scanner sc=new Scanner(System.in);
		System.out.println("向b.txt中输入内容,输入quit是结束");
		while(true){
			String string=sc.nextLine();
			if("quit".equals(string)){
				break;
			}
			fw.write(string+"\r\n");//换行
			fw.flush();
		}	
			fw.close();		
	}

猜你喜欢

转载自blog.csdn.net/qq_42435514/article/details/82901921