java新手笔记28 文件

1.目录、文件

package com.yfs.javase;

import java.io.File;

public class FileDemo1 {

	/**
	 * File  目录 文件
	 */
	public static void main(String[] args) throws Exception {
		// 创建目录对象 没有对应目录
		File file = new File("C:/abc");
		//File file = new File("C:/aaa/bbb/ccc");
		System.out.println("file是否存在 : " + file.exists());
		// 创建目录
		if (!file.exists()) {
			//file.mkdir();//创建单级目录
			file.mkdirs();
			System.out.println("目录创建完成...");
		}
		
//		System.out.println(File.pathSeparator);
//		System.out.println(File.pathSeparatorChar);
//		System.out.println(File.separator);
//		System.out.println(File.separatorChar);
		//文件
		File f = new File(file,"Hello.txt");
		System.out.println("f是否存在: " + f.exists());
		if(! f.exists()) {
			f.createNewFile();//创建文件
		}
		System.out.println("f.canExecute() : " + f.canExecute());
		System.out.println("f.canRead() : " + f.canRead());
		System.out.println("f.canWrite(): " + f.canWrite());
		System.out.println("f.isDirectory(): " + f.isDirectory());
		System.out.println("f.isFile(): " + f.isFile());
		System.out.println("f.lastModified(): " + String.format("%tF %<tT", f.lastModified()));
		//删除文件
		System.out.println("删除文件:" + f.delete());
		file.delete();//删除目录 目录必须为空
		

		System.out.println("执行结束...");
	}

}

 2.相对 绝对

package com.yfs.javase;

import java.io.File;

public class FileDemo2 {

	/**
	 * File  相对 绝对
	 */
	public static void main(String[] args) throws Exception {
		
		File file = new File("img/index.gif");//相对路径 工程路径
		System.out.println("file的路径: " + file.getPath());
		System.out.println("file的父路径: " + file.getParent());
		System.out.println("file的绝对路径: " + file.getAbsolutePath());
		System.out.println("file的绝对文件: " + file.isAbsolute());
		file = file.getAbsoluteFile();
		System.out.println("file的绝对文件: " + file.isAbsolute());
		
		//查看目录下的文件名称
		File f = new File("E:\clazz1\workspace\20140708");
		//System.out.println(f.getAbsolutePath());
		String[] files = f.list();
		for (int i = 0; i < files.length; i++) {
			System.out.println(files[i]);
		}
		
		//文件对象
		File[] fs = f.listFiles();
		for (int i = 0; i < fs.length; i++) {
			System.out.println(fs[i].getAbsolutePath());
		}
		
	}

}

 3.显示所有文件

package com.yfs.javase;

import java.io.File;

public class FileDemo3 {

	/**
	 * File  相对 绝对
	 */
	public static void main(String[] args) throws Exception {
		File f = new File("E:\clazz1\workspace\20140708");
		showAllFile(f);
		
	}
	//递归算法  方法调用自己
	public static  void showAllFile(File file) {
		//文件
		if(file.isFile()) {
			System.out.println(file.getPath());
			return;
		}
		//目录
		File[] files = file.listFiles();
		for (int i = 0; i < files.length; i++) {
			//递归
			showAllFile(files[i]);//是目录 再调用自己方法
		}
		
	}
	

}

 4.字节流

package com.yfs.javase;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader;

public class IODemo1 {

	/**
	 * 输入  字符 字节
	 */
	public static void main(String[] args) throws Exception {
		// inputData();
		// inputChar();
		readChar();

	}

	// 字符流
	public static void readChar() throws Exception {

		File file = new File("in2.txt");// 源头
		// 输入流 源头与程序之间 建立连接
		Reader in = new FileReader(file);

		int data = in.read();//按字符处理
		System.out.println((char) data);

		data = in.read();
		System.out.println((char) data);

		data = in.read();
		System.out.println((char) data);

		data = in.read();
		System.out.println((char) data);

		// 关闭连接
		in.close();

	}

	public static void inputChar() throws Exception {
		// in1.txt 当前程序
		File file = new File("in2.txt");// 源头
		// 输入流 源头与程序之间 建立连接
		InputStream in = new FileInputStream(file);

		int data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		// 关闭连接
		in.close();

	}
   //字节流
	public static void inputData() throws Exception {
		// in1.txt 当前程序
		File file = new File("in1.txt");// 源头
		// 输入流 源头与程序之间 建立连接
		InputStream in = new FileInputStream(file);

		int data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		data = in.read();// 每次读一个字节
		System.out.println((char) data);

		// 关闭连接
		in.close();

	}

}
原文地址:https://www.cnblogs.com/feilongblog/p/4755944.html