目录
一、FileInputStream 文件输入流
// File类在java中表示抽象路径名,可以表示一个具体的文件也可以表示一个目录。
public class FileDemo {
public static void main(String[] args) throws IOException {
File file=new File("a.txt");
// 生成a.txt文件
// try {
// file.createNewFile();
// }catch (IOException e){
// e.printStackTrace();
// }
System.out.println(file.canExecute());
System.out.println(file.canRead());
System.out.println(file.canWrite());
// 删除文件或者目录
System.out.println(file.delete());
System.out.println(file.exists());
//获取文件的绝对路径名
//获取文件绝对路径名的规范格式
System.out.println(file.getCanonicalPath());
//获取文件或者目录的名称
System.out.println(file.getName());
//返回文件的目录,如果文件路径名是一个具体的文件,此时返回null
System.out.println(file.getParent());
// System.out.println(file.getPath());
// System.out.println(file.isFile());
// System.out.println(file.isDirectory());
// System.out.println(file.length());
//即使没有这个文件,也可以获取文件的绝对路径名
// System.out.println(file2.getAbsolutePath());
// System.out.println(file.lastModified());
// System.out.println("***************************");
// File file3 = new File("D:\\idea_workspace");
// String[] strings = file3.list();
// for(String path : strings){
// System.out.println(path);
// }
//
// File[] files = file3.listFiles();
// for(File file1 :files){
// System.out.println(file1);
// }
//遍历D盘下所有的文件和目录?
// System.out.println("***************************");
// File[] roots = File.listRoots();
// for(File root :roots){
// System.out.println(root);
// }
// printFiles(new File("D:\\idea_workspace"));
// File file4 = new File("D:\\a.txt");
// file4.mkdir();
// file4.mkdirs();
// file4.renameTo(new File("a123.txt"));
// System.out.println(File.separator);
//删除目录?
File file5 = new File("D:\\b");
file5.delete();
}
//便利文件的时候,文件系统中可能存在一些受保护的文件,
// 访问是需要访问权限的,此时会抛出空指针异常
public static void printFiles(File file){
//获取指定路径名下所有的文件和目录
File[] files = file.listFiles();
//遍历文件
for(File file1 : files){
//判断是否是目录
if(file1.isDirectory()){
printFiles(file1);
}else{
System.out.println(file1.getAbsolutePath());
}
}
}
}
删除一个路径下的所有文件
public class FileDemp1 {
public static void main(String[] args) {
File file=new File("D:\\c");
san(file);
}
public static void san(File file){
if (file.isDirectory()){
File[] files = file.listFiles();
for(File file1:files){
san(file1);
}
}
file.delete();
}
}
二、WriterDemo
public class WriterDemo {
public static void main(String[] args) {
File file=new File("a4.txt");
Writer writer=null;
try{
writer=new FileWriter(file,false);
//传输数据
writer.write(99);
writer.write("abc你好,中国");
writer.write(new char[]{'5','t','p'});
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
三、CopyFileDemo
public class CopyFileDemo {
public static void main(String[] args) {
//创建数据源
File src=new File("D:\\a.docx");
//创建目标数据源
File dest=new File(src.getName());
FileReader fileReader=null;
FileWriter fileWriter=null;
try {
//创建字符输入流对象
fileReader=new FileReader(src);
//创建字符输出流对象
fileWriter=new FileWriter(dest);
int length=0;
char[]chars=new char[1024];
while((length=fileReader.read(chars))!=-1){
fileWriter.write(chars,0,length);
fileWriter.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fileWriter.close();
}catch (IOException e){
e.printStackTrace();
}
try {
fileReader.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
四、PrintStreamDemo
public class PrintStreamDemo {
public static void main(String[] args) {
// PrintStream printStream=new PrintStream(System.out);
PrintStream printStream=null;
try {
printStream=new PrintStream(new FileOutputStream("a3.txt"));
printStream.print("HelloWorld");
printStream.println();
printStream.println(true);
printStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
printStream.close();
}
}
}
五、CharArrayRederDemo
//字符缓冲区 io4
public class CharArrayRederDemo {
public static void main(String[] args) {
String str="www.baidu.com百度";
char[]chars=str.toCharArray();
CharArrayReader charArrayReader=new CharArrayReader(chars);
try {
int read =0;
while( (read=charArrayReader.read())!=-1){
System.out.println((char) read);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
charArrayReader.close();
}
}
}