使用File类操作文件或目录属性
package com.vp.day03.demo01;
import java.io.File;
import java.io.IOException;
/**
* 使用File类操作文件或目录属性
*/
public class Test {
public static void main(String[] args) {
File file=new File("E:\\QQ");
//判断文件或目录是否存在
if(file.exists()){
System.out.println("存在");
}else {
System.out.println("不存在");
}
//判断是否是文件
if(file.isFile()){
System.out.println("是文件");
}else {
System.out.println("不是文件");
}
//判断是否是目录
if(file.isDirectory()){
System.out.println("是目录");
}else {
System.out.println("不是目录");
}
//返回此对象表示的文件的相对路径名
System.out.println("相对路径:\t"+file.getParent());
//返回此对象表示的文件的绝对路径名
System.out.println("绝对路径:\t"+file.getAbsolutePath());
//返回此对象表示的文件或目录的名称
System.out.println(file.getName());
//删除此对象指定的文件或目录
File file1=new File("E:\\新建文本文档.txt");
System.out.println(file1.delete());
//创建名称的空文件,不创建文件夹
File file2=new File("E://text.text");
try {
file2.createNewFile();
System.out.println(file2.getName());
} catch (IOException e) {
e.printStackTrace();
}
//返回文件的长度,单位为字节,如果文件不存在,则返回OL
System.out.println(file.length());
}
}
使用FileInputStream类读取文本文件
需求说明:按照如下的四个步骤,使用FileInputStream类读取文本文件,效果如下图所示。
(1)引入相关的类,java.io.IOException和java.io.FileInputStream;
(2)构造文件输入流FileInputStream 对象,比如为:FileInputStream fis= new FileInputStream("c:\\test.txt");;
(3)读取文本文件的数据,fis.available();fis.read();;
(4)关闭文件流对象:fis.close();;
package com.vp.day03.demo02;
import java.io.FileInputStream;
import java.io.IOException;
/**
*需求说明:按照如下的四个步骤,使用FileInputStream类读取文本文件,效果如下图所示。
(1)引入相关的类,java.io.IOException和java.io.FileInputStream;
(2)构造文件输入流FileInputStream 对象,比如为:FileInputStream fis= new FileInputStream("c:\\test.txt");;
(3)读取文本文件的数据,fis.available();fis.read();;
(4)关闭文件流对象:fis.close();;
*/
public class Test {
public static void main(String[] args) throws IOException {
//读取的字节流
FileInputStream fileInputStream=new FileInputStream("E:\\test2.txt");
//读取的字节数
int available = fileInputStream.available();
System.out.println("可读取的字节数:"+available);
//进行读取操作
byte[] bytes = new byte[1024];
fileInputStream.read(bytes);
String content=new String(bytes);
System.out.println("文件内容为:"+content);
//关闭文件流对象
fileInputStream.close();
}
}
复制文本文件
需求说明:文件“我的青春谁做主.txt”位于D盘根目录下,要求将此文件的内容,按照如下步骤复制到C:\myFile\my Prime.txt中,复制完成后输出如下图所示信息,检查文件是否已经写入目标位置。
(1)创建FileInputStream输入流对,负责读取D:/ 我的青春谁做主.txt文件;
(2)创建FileOutputStream输出流对象;
(3)创建中转站数组byte[] words,存放每次读取的内容;
(4)通过while循环实现文件读取;
(5)操作完成后,记得关闭流;
package com.vp.day03.demo04;
import java.io.*;
/**
* 需求说明:文件“test.txt”位于D盘根目录下,要求将此文件的内容,按照如下步骤复制到E:\test4.txt中,复制完成后输出如下图所示信息,检查文件是否已经写入目标位置。
(1)创建FileInputStream输入流对,负责读取E:/ test.txt文件;
(2)创建FileOutputStream输出流对象;
(3)创建中转站数组byte[] words,存放每次读取的内容;
(4)通过while循环实现文件读取;
(5)操作完成后,记得关闭流;
*/
public class Test {
public static void main(String[] args) throws IOException {
String string=read();
write(string,"E:\\test4.txt");
}
/**
* 读取
* @throws IOException
*/
public static String read() throws IOException {
//读取E盘下的test.txt
File file=new File("E:\\test2.txt");
//读取字节流
FileInputStream fileInputStream=new FileInputStream(file);
//进行读取操作
byte[] bytes=new byte[1024];
fileInputStream.read(bytes);
String content=new String(bytes);
//关闭流
fileInputStream.close();
return content;
}
/**
*
* @param content 复制内容
* @param path 路径
* @throws IOException
*/
public static void write(String content,String path)throws IOException{
File file=new File(path);
FileOutputStream fileOutputStream=new FileOutputStream(path);
byte[] bytes = content.getBytes();
fileOutputStream.write(bytes);
}
}
序列化和反序列化
需求说明:实现学员对象的序列化和反序列化。
package com.vp.day03.demo13;
import java.io.Serializable;
public class Student implements Serializable {
public Student() {
}
public Student(String name, String stuno, String love, int age) {
this.name = name;
this.stuno = stuno;
this.love = love;
this.age = age;
}
private String name;
private String stuno;
private String love;
private int age;
private Teacher teacher;
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStuno() {
return stuno;
}
public void setStuno(String stuno) {
this.stuno = stuno;
}
public String getLove() {
return love;
}
public void setLove(String love) {
this.love = love;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", stuno='" + stuno + '\'' +
", love='" + love + '\'' +
", age=" + age +
", teacher=" + teacher +
'}';
}
}
/**
* Copyright (C), 2018-2018, XXX有限公司
* FileName: Teacher
* Author: kevin
* Date: 2018/8/9 15:33
* Description:
* History:
*
/**
* Copyright (C), 2018-2018, XXX有限公司
* FileName: Test
* Author: kevin
* Date: 2018/8/9 15:15
* Description:
* History:
*
/**
* Copyright (C), 2018-2018, XXX有限公司
* FileName: Test01
* Author: kevin
* Date: 2018/8/9 15:38
* Description:
* History:
*