首页 java基础 java文件流的输入和输出操作

java文件流的输入和输出操作

文件的定义是什么? File类是文件和目录的抽象表示形式 什么是文件? 文件可认为是相关记录或放在一起的数据的集合。 F…

文件的定义是什么?

File类是文件和目录的抽象表示形式

什么是文件?

文件可认为是相关记录或放在一起的数据的集合。

File类常用的方法有哪些?

exists()、isFile()、isDirectory()、length()、getName()

写二进制文件可以使用哪两个类?

DataOutputStream DataInputStream

File类的定义? File类表示磁盘上的文件或目录。在Java中不管是文件还是目录统一都用File类来表示。

File f1 = new File("E:\\test");
if(f1.exists()){
System.out.println("该文件夹已经存在");
}else{
f1.mkdir();// 创建文件夹
}
File f2 = new File("E:\\test\\a.txt");
f2.createNewFile(); //指定文件夹下创建文件
mport java.io.File;
……
File file = new File(args[0]);
System.out.println("文件或目录是否存在:" + file.exists());
System.out.println("是文件吗:" + file.isFile());
System.out.println("是目录吗:" + file.isDirectory());
System.out.println("名称:" + file .getName());
System.out.println("路径: " + file.getPath());
System.out.println("绝对路径: " + file.getAbsolutePath());
System.out.println("最后修改时间:" + file.lastModified());
System.out.println(“文件大小:” + file.length()+ “ 字节”);

 

 

 

流是指一连串流动的字符,是以先进先出方式发送信息的通道。

字节流 8 位 两个重要的抽象类: InputStream OutputStream 它们是表示字节输入、输出流的所有类的父类。

字符流 16 位 Unicode 两个重要的抽象类: Reader Writer 它们是表示字符输入、输出流的所有类的父类。

FileOutputStream 是用于写入字节数据流到文件中的类,继承自OutputStream类,提供了最基础的文件写数据操作。 向“e:\\test\\a.txt”文件里写入“我是一个好学生”.

FileWriter是用于写入字符数据流到文件中的类,间接继承自Writer类,方便创建字符流对象。

 

import java.io.*;
……
OutputStream fos = new FileOutputStream(" e:\\test\\a.txt ");
String str ="我是一个好学生";
byte[] words = str.getBytes();
fos.write(words, 0, words.length);
fos.close();
mport java.io.*;
……
FileWriter fw = new FileWriter(" e:\\test\\a.txt ");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("我要认真学习");
bw.flush();
fw.close();

 

小结:

写文本文件操作的一般步骤?

构造一个文件输出流对象

利用文件输出流的方法写文本文件

关闭文件输出流

读文本文件操作的一般步骤?

构造一个文件输出流对象根据文件路径创建输入流

读取数据

关闭文件输入流

如何使用DataInputStream与DataOutputStream读写二进制文件。

1、创建一个Member类。

2、将Member类实例的成员数据写入E:\\a.txt文件中。

3、在读入文件数据后,将这些数据还原为Member对象。

 

DataInputStream dataInputStream =new DataInputStream(new FileInputStream(fileName));
for(int i = 0; i < members.length; i++) {
// 读出UTF字符串
String name = dataInputStream.readUTF();
// 读出int数据
int score = dataInputStream.readInt();
members[i] = new Member(name, score);
}
dataInputStream.close(); // 关闭流
// 显示还原后的数据
for(int i=0;i< members.length;i++){
Member member = (Member) members[i];
System.out.println(member.getName()+" " +member.getAge());
}
Member[] members = {new Member("张三", 90)
, new Member("李四", 95), new Member("王五", 88)};
String fileName = "E:\\a.txt";
DataOutputStream dataOutputStream =
new DataOutputStream(new FileOutputStream(fileName));
for(Member member : members) {
// 写入UTF字符串
dataOutputStream.writeUTF(member.getName());
// 写入int数据
dataOutputStream.writeInt(member.getAge());
}
// 写入所有数据至目标文件
dataOutputStream.flush();
// 关闭流
dataOutputStream.close();
public class Member {
private String name;
private int age;
public Member() {
}
public Member(String name, int age) {
this.name = name;
this.age = age;
}
……生成getter和setter方法
}

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

26个大小写字母对应的哈希值

26个大小写字母对应的哈希值

大写字母: 小写字母 A 对应的哈希值:65 B 对应的哈希值:66 C 对应的哈希值:67 D 对应的哈希值:68 E...
linux 把文件名字写入到txt

linux 把文件名字写入到txt

1、首先连接上linux主机,进入到需要处理的目录,例如“/”目录。   2、输入:ls -1 > 1....
git 流程开发

git 流程开发

前提条件:不能在 master 分支上修改任何文件。master 分支的变更只能通过 git pull 和 git me...
使用Git将本地文件提交到远程仓库

使用Git将本地文件提交到远程仓库

使用Git将本地文件提交到远程仓库 使用Git将本地文件提交到远程仓库 现在要将本地代码推到git远程仓库保存,可以提交...
将博客搬至CSDN

将博客搬至CSDN

将博客搬至CSDN
返回顶部