用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

柯侧耳倾听者    -  云代码空间

—— 翱翔在Java世界的海洋之上

输入输出编程

2017-12-26|164阅||

摘要:输入输出编程   【实验目的】   1.掌握文件类的使用方法及文件过滤的方法。   2.掌握基于字节流进行输入/输出的方法、基于字符流进行输入/输出的方法、字节流与字符流之间的转换方法、掌握过滤器流的使用方法

输入输出编程

 

【实验目的】

 

1.掌握文件类的使用方法及文件过滤的方法。

 

2.掌握基于字节流进行输入/输出的方法、基于字符流进行输入/输出的方法、字节流与字符流之间的转换方法、掌握过滤器流的使用方法

 

【实验要求】

 

1. 编写运用字符流和字符流输入/输出各种方法的应用程序。【实验内容】

 

一、文件类及文件过滤

1.显示指定目录下的子目录及文件、文件过滤方法代码略,见课本例题

 

二、字节流字符流的输入输出方法

 

1.文件复制程序

 

1)程序功能:复制二进制文件(如一幅图片d:\01.jpg,将此图片复制到E盘下,取名02.jpg)和复制文本文件(如把当前目录下的01.txt复制到当前目录下的02.txt)。

2)编写LX8_1.java程序文件,源代码如下:

 

import java.io.*;

 

public class LX8_1{

 

public static void main(String[] args){

 

LX8_1m=new LX8_1 ();

 

m.copyByByte();

 

m.copyByChar();

 

}

 

public void copyByByte(){

 

try{

 

FileInputStream fis = new FileInputStream("D:\\01.jpg");

 

FileOutputStream fos = new FileOutputStream("E:\\02.jpg");

 

int b = fis.read();

 

while(b != -1){

 

fos.write(b);

 

b = fis.read();

 

}

 

fis.close();

 

}catch(IOException e){

 

e.printStackTrace();

 

}

 

}

 

public void copyByChar(){

 

try{

 

BufferedReader br = new BufferedReader(new


 

FileReader("01.txt"));

 

BufferedWriter bw = new BufferedWriter(new

 

FileWriter("02.txt"));

 

String line = br.readLine();

 

while(line != null){

 

bw.write(line);

 

line = br.readLine();

 

if(line != null)

 

bw.newLine();

 

}

 

bw.close();

 

br.close();

 

}catch(IOException e){

 

e.printStackTrace();

 

}

 

}

 

}

 

(3)编译运行该程序,查看运行结果。

 

 

(4)程序说明:以字节流的方式可以复制任何格式的文件,以字符流的方式只能复制文本文件。

 

 

 

 

 

 

 

 

三.过滤器流的使用方法

 

过滤器输入流从已存在的输入流(比如FileInputStrem)中读取数据,对数据进行适当的处理和改变后再送入程序。过滤器输出流向已存在的输出流(比如FilterOutputStream)写入数据,在数据抵达底层流之前进行转换处理等工作。

 

1.使用过滤器流输入输出

 

1)程序功能:用DataInputStream输入一个整型数、一个双精度型和一个字符串型到文件中,然后用DataOutputStream将这些文件读出并打印到标准输出设备。

 

2)编写LX_2.java 程序文件,源代码如下。

 

import java.io.*;

public class LX_2{

 

public static void main(String[] args) throws Exception {

 

File f=new File("3.txt");

 

f.createNewFile();

 

DataInputStream dis=new DataInputStream(new FileInputStream(f));

 

DataOutputStream dos=new DataOutputStream(new FileOutputStream(f));

 

dos.writeInt(100);

 

dos.writeDouble(1.111111);

 

dos.writeUTF("Test is ok?");

 

dos.close();

 

System.out.println("The text is:");

 

System.out.println(dis.readInt());

 

System.out.println(dis.readDouble());

 

System.out.println(dis.readUTF());

 

dis.close();

 

}

 

}

 

3)编译程序LX_2.java并运行。

4)程序说明:该程序通过DataOutputStream分别输入整数、浮点数和字符串到一个txt文件中,整数和浮点数分别转化为4个字节和8个字节存入文件,所以当用记事本打开文件时会出现乱码,但通过DataInputStream可以将文件中的数据准确地转换过来。


顶 0踩 0收藏
分享到:
更多
文章评论
    发表评论

    个人资料

    • 昵称: 柯侧耳倾听者
    • 等级: 初级设计师
    • 积分: 2220
    • 代码: 64 个
    • 文章: 64 篇
    • 随想: 5 条
    • 访问: 34 次
    • 关注

    标签

    最新提问

      站长推荐