文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、file类
1.File file=new File(“D:\IntelliJ IDEA 2021.1.1\build.txt”);
package jdbc;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
public class file {
public static void main(String[] args) throws IOException {
//获取系统磁盘
File[] files=File.listRoots();
System.out.println(Arrays.toString(files));
//创建文件名
File file=new File("D:\\IntelliJ IDEA 2021.1.1\\build.txt");
System.out.println(file.getName()); //获取文件的名字
System.out.println(file.getAbsolutePath()); //获取文件的绝对路径
System.out.println(file.length()); //获取文件长度
System.out.println(file.isFile()); //判断文件是否是一个普通文件,而不是目录
System.out.println(file.canExecute()); //文件是否可执行
System.out.println(file.canRead()); //文件是否可读
System.out.println(file.canWrite()); //文件是否可写
System.out.println(new Date(file.lastModified()));//上一次修改时间
//创建文件
file=new File("d:\\hello.txt");
file.createNewFile();
}
}
2.File file=new File(“D:\eclipse\429\example\src”,“file01.java”);
package example;
import java.io.File;
import java.io.IOException;
public class file01 {
public static void main(String[] args) {
File file=new File("D:\\eclipse\\429\\example\\src","file01.java");//在 的路径下,创建一个文件
System.out.println(file.getName());
System.out.println(file.length());
System.out.println(file.getAbsolutePath());
System.out.println(file.canRead());
System.out.println(file.canWrite());
File file01=new File("hello.txt");
System.out.println("在当前目录中创建新文件"+file01.getName());
if(!file01.exists()) {
try {
file01.createNewFile();
System.out.println("创建成功");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
二.拷贝文件
package example;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
//拷贝文件
public class fileinout {
public static void main(String[] args) {
InputStream in=null;
OutputStream out=null;
try {
in=new FileInputStream("D:\\QQ文件\\01-数据结构-第01天 - 动态数组(3-4班).rar");
out=new FileOutputStream("d:\\作业.rar");
byte[] buffer=new byte[1024];
int len;
while((len=in.read(buffer))!=-1){
out.write(buffer,0,len);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
if(in!=null){
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(out!=null){
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
三.创建文件,并写入数据
package example;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class fileinout01 {
public static void main(String[] args){
OutputStream output=null;
try {
output=new FileOutputStream("d:\\table.txt");
output.write("姓名\t班级\t学号\t考试成绩\n".getBytes());
output.write("张三\t软件三班\t20190001\t59\n".getBytes());
output.write("张三\t软件三班\t20190001\t59\n".getBytes());
output.write("张三\t软件三班\t20190001\t59\n".getBytes());
output.write("张三\t软件三班\t20190001\t59\n".getBytes());
output.write("张三\t软件三班\t20190001\t59\n".getBytes());
output.flush();//清空缓存
} catch (Exception e) {
// TODO: handle exception
}finally{
if(output!=null)
try {
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
四.读取文件里的内容,并打印出来
package example;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class fileread {
public static void main(String[] args) {
InputStream in=null;
try {
in=new FileInputStream("d:\\table.txt");
//参数是一个字节数组,把流里面的数据拷贝到字节数据数组里面
//字节数组到底定义为多大?循环读取流数据
//返回值表示实际读取的字节数,如果返回-1表示读取完成
//一次读取字节数组定义的长度
byte[] buffer=new byte[1024];
int len=0;
ByteArrayOutputStream out=new ByteArrayOutputStream();
while((len=in.read(buffer))!=-1){
out.write(buffer, 0, len);
}
System.out.println(out.toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
if(in!=null){
try {
in.close();
} catch (IOException e) {
// TODO: handle exception
}
}
}
}
}
五.在文件里写入数据
对于Writer流,write方法将数据首先写入到缓冲区,每当缓冲区溢出时,缓冲区的内容被自动写入到目的地,如果关闭流,缓冲区的内容会立刻被写入到目的地。流调用flush()方法可以立刻冲洗当前缓冲区,即将当前缓冲区的内容写入到目的地。
package example;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class fileshujuliu {
public static void main(String[] args) {
DataOutputStream out=null;
try {
out=new DataOutputStream(
new BufferedOutputStream(new FileOutputStream("d:\\data.txt")));
out.writeInt(100);
out.writeDouble(3.14);
out.writeBoolean(true);
out.writeLong(10000);
out.writeChars("2学院");
out.flush();
} catch (Exception e) {
// TODO: handle exception
}finally{
if(out!=null){
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}