输入和输出处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输入输出(java.io)

1.File (java.io.File)

2.流Stream

3.InputStream(抽象类)

4.OutputStream(抽象类)

5.Reader(抽象类)

6.Writer(抽象类)

7.文本文件的读写

FileInputStream

FileOutputStream

BufferedReader

BufferedWriter

8.二进制文件的读写

DataInputStream

DataOutputStream

综合练习

9.标准I/O

(ng.System三个静态遍历System.in , System.out , System.err)

10.重定向标准I/O

11.对象序列化

反序列化

File

例:File file = new File(“c:\\练习\\ test.txt”);\\两个\\是为了输出斜杆File file = new File(“c:\\练习” ,“test.txt”);

如果不确定是“/”还是“\”,使用File.separator静态成员来判断。

JAVA IO 错误,设备没有足够空间

出错在java.io.FileOutputStream.writeBytes方法,

java.io.FileOutputStream.write(FileOutputStream.java第257行)

java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java第69行)

java.io.BufferedOutputStream.flush(BufferedOutputStream.java第127行)

例题://实例化File类的对象

File file = new File("g:\\测试\\test.txt");

//查看文件属性

System.out.println("文件名:" + file.getName());

System.out.println("相对路径:" + file.getPath());

System.out.println("绝对路经:" + file.getAbsolutePath());

System.out.println(file.exists()?"文件存在":"文件不存在");

System.out.println(file.isFile()?"是普通文件":"可能是一个命名管道");

System.out.println(file.isDirectory()?"文件是目录":"文件不是目录");

//判断文件是否可读

if(file.canRead()){

System.out.println("当前文件可读");

}else{

System.out.println("当前文件不可读");

}

//判断文件是否可写

if(file.canWrite()){

System.out.println("当前文件可写");

}else{

System.out.println("当前文件不可写");

}

//当前文件最后一次被修改日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date date = new Date(stModified());

System.out.println("最后一次被修改日期:" + sdf.format(date));

//新建文件

if(!file.exists()){

file.createNewFile();

}

//删除文件

if(file.exists()){

file.delete();

}

流Stream(流具有方向性,一个流是一个输入或输出设备的抽象表示)

输入流图

输出流图

InputStream

OutputStream

Reader

Writer

文本文件的读写

1.用FileInputStream读写文本文件

2.用FileOutputStream读写文本文件

3.用BufferedReader读写文本文件

4.用BufferedWriter读写文本文件

FileInputStream

构造方法:

实例:

/**

* FlieInputStream

* 1.read()读取文件内容,返回int值

* 2.需要转换字符

* 3.read()方法是“单程”

* 4.一定要关闭流,因为内存不能自动回收

*/

public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("g:\\my\\test.txt");

int data;

System.out.println("可读取的字节数:" + fis.available());

System.out.println("=====开始文件内容=====");

while((data=fis.read()) != -1){

char c = (char)data;//需要转换字符

System.out.print(c + " ");

}

System.out.println("\n===文件内容读取完毕====");

fis.close();

}

相关文档
最新文档