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(); } }
上一篇:BZOJ 1188 [HNOI2007]分裂游戏


下一篇:SQL 快速生成不重复的卡号