Java 实验 文件管理与IO流

时间:2019-05-15 10:39:57下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Java 实验 文件管理与IO流》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Java 实验 文件管理与IO流》。

第一篇:Java 实验 文件管理与IO流

作业要求:每个题保存为一个.java文件,保存在同一工程文件夹中,文件夹的名字为E:Java你的班级+姓名,例如:E:Java信息11张三。

注意:上交的程序包含程序的执行结果,以注释的形式附在程序后面。

实验六文件管理与I/O流

一、实验目的1.熟悉用文件File类创建、删除、查看文件或目录。

2.字节流、字符流、缓冲流、随机流等流式文件的创建,读写操作。

3.用字符流和缓冲流从键盘接受字符串的方法。

二、实验内容

1.先运行该程序。源文件是sy6_1.java。然后按【思考问题】分析程序。

import java.io.*;

public class sy6_1{

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

{

int x=0;

File Mypath;

Mypath=new File(“E:aaaa”);

if(!Mypath.exists())

{System.out.println(“创建新目录”);Mypath.mkdir();}

else System.out.println(“目录已存在”);

File Myfile1=new File(Mypath,“myfile1.txt”);

File Myfile2=new File(Mypath,“myfile2.txt”);

File Myfile3=new File(Mypath,“myfile3.txt”);

FileInputStream Fin=new FileInputStream(Myfile1);

FileOutputStream Fout=new FileOutputStream(Myfile1);

DataOutputStream Dout=new DataOutputStream(new FileOutputStream(Myfile2));

DataInputStream Din=new DataInputStream(new FileInputStream(Myfile2));

PrintWriter PWout=new PrintWriter(new FileWriter(Myfile3));

RandomAccessFile RAread=new RandomAccessFile(Myfile3,“r”);

String str;

int num1;

BufferedReader buf;//缓冲流

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print(“请输入一个小于255整型数:”);

while(!(str=buf.readLine()).equalsIgnoreCase(“q”))

{ System.out.print(“请输入另一个小于255整型数,按Q结束:”);

num1=Integer.parseInt(str);

Fout.write(num1);

}Fout.close();

System.out.println(“你刚输入的数据是:”);

while((x=Fin.read())!=-1)

{ System.out.println(x);

}Fin.close();

System.out.print(“请输入int范围内整型数:”);

while(!(str=buf.readLine()).equalsIgnoreCase(“q”))

{ System.out.print(“请输入另一个整型数,按Q结束:”);

num1=Integer.parseInt(str);

Dout.writeInt(num1);

}Dout.close();

int leng=Din.available()/4;

int xxx=0;

while(xxx

{ xxx++;

x=Din.readInt();

System.out.println(x);

} Din.close();

System.out.print(“请输入第一个字符串:”);

while((str=buf.readLine())!=null)

{ System.out.print(“请输入另一个字符串,按Ctrl+Z结束:”);

PWout.println(str);//写入myfile3.txt中

} PWout.close();

RAread.seek(0);

while(RAread.getFilePointer()

{System.out.println(RAread.readLine());//从myfile3.txt中一行一行读并输出在控制台上

} RAread.close();

System.out.println(“完成”);

}

}

【思考问题】

① 本程序共用到哪几种流式文件?都用于做什么?

答:基本输入输出流:System.in.输入(从键盘)

System.out.输出(显示器)

字节流类:FileOutputStream 文件输出

FileInputStream 文件输入

DataOutputStream数据输出

DataInputStream数据输入

字符流类:PrintWriter输入

缓冲文件流:BufferedReader

② 运行完程序后,请用“我的电脑”找到创建的文件,并分别打开文件看其内容,你

看到的是你输入的数据吗?

答:myfile1和myfile2中的数据非输入数据,myfile3中可以看见输入的数据。③ 将创建输入流对象Fin放在输出流Fout前,看发生什么?

④ 对第二种流式文件判断文件占用字节的长度用available()方法,而此处用int

leng=Din.available()/4;为什么除以4?

2.按照第1题的内容,修改程序要求每次重新运行不覆盖原内容,把所有其它流式文件全部改用随机流式文件来实现,新的数据填加在文件尾,然后读出校验。

import java.io.*;

public class sy6_2 {

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

File Mypath;

Mypath = new File(“E:aaa”);

if(!Mypath.exists())

{System.out.println(“创建新目录”);Mypath.mkdir();}

else System.out.println(“目录已存在”);

File Myfile1 = new File(Mypath, “myfile1.txt”);

File Myfile2 = new File(Mypath, “myfile2.txt”);

File Myfile3 = new File(Mypath, “myfile3.txt”);

RandomAccessFile rf1 = new RandomAccessFile(Myfile1, “rw”);

RandomAccessFile rf2 = new RandomAccessFile(Myfile2, “rw”);

RandomAccessFile rf3 = new RandomAccessFile(Myfile3, “rw”);

String str;

int num1;

BufferedReader buf;//缓冲流

buf = new BufferedReader(new InputStreamReader(System.in));

System.out.print(“请输入一个小于255整型数:”);

rf1.seek(rf1.length());//指针移到文件尾进行写操作

while(!(str=buf.readLine()).equalsIgnoreCase(“q”))

{ System.out.print(“请输入另一个小于255整型数,按Q结束:”);num1=Integer.parseInt(str);

rf1.write(num1);//将整型数作为ascii码值所对应的字符写入myfile1.txt中}

rf1.seek(0);//指针移到文件头进行读操作

int x=0;

while((x=rf1.read())!=-1)

{

System.out.println(x);

} rf1.close();

System.out.print(“请输入int范围内整型数:”);

rf2.seek(rf2.length());

while(!(str = buf.readLine()).equalsIgnoreCase(“q”)){

System.out.print(“请输入另一个整型数,按Q结束:”);

num1 = Integer.parseInt(str);

rf2.writeInt(num1);

}

int x1 = 0;

for(int l = 0;l

{

rf2.seek(l*4);

x1 = rf2.readInt();

System.out.println(x1);

}

rf2.close();

System.out.print(“请输入第一个字符串:”);

rf3.seek(rf3.length());

while((str = buf.readLine())!= null){

System.out.println(“请输入另一个字符串,按Ctrl+Z结束:”);rf3.writeUTF(str);//写入myfile3.txt中

}

rf3.seek(0);

while(rf3.getFilePointer()< rf3.length()){

System.out.println(rf3.readUTF());//从myfile3.txt中读出字符串并输出在控制台上

}

rf3.close();

System.out.println(“完成”);

}

}

三、实验报告要求

1.回答第1题【思考问题】提出的问题。

2.写出第二题要求的源程序。

第二篇:实验12:Java高级IO流程序设计

实验12:Java高级I/O流程序设计

实验时间:实验地点:

一、实验目的及要求

(1)掌握文件类File的使用。

(2)理解随机存取文件类RandomAccessFile的使用。

二、实验设备环境及要求

三、实验任务

(1)按要求编写Java Application程序,并编译、运行这个程序。

四、实验内容与步骤

1.输出当前目录下my.txt文件的基本信息。

import java.io.*;

import java.util.*;

public class FileTest{

public static void main(String args[]){File f=new File(“my.txt”);System.out.println(“Absolute path: ” + f.getAbsolutePath()+“n Can read: ” + f.canRead()+“n Can write: ” + f.canWrite()+“n getName: ” + f.getName()+“n getParent: ” + f.getParent()+“n getPath: ” + f.getPath()+“n length: ” + f.length()+“n lastModified: ” + new Date(f.lastModified()));if(f.isFile())System.out.println(“It's a file”);

}}else if(f.isDirectory())System.out.println(“It's a directory”);

2.编写一个Java Application程序,实现如下的设计功能:运行该程序可以列出当前目录下的文件。

import java.io.*;

class FileDir{

public static void main(String args[]){

File f=new File(“D:”);

File fs[]=f.listFiles();

for(int i=0;i

if(fs[i].isFile())

System.out.println(fs[i].getName());

else

System.out.println(“

”+fs[i].getName());

}

}

}

五、实验指导与处理

六、分析讨论

实验教师评语成绩

签名:

日期:

第三篇:Java实验五 IO流的一般使用

Java实验五IO流的一般使用

实验目的:掌握文件类的使用,了解一般流的基本应用。加深处理代码的能力。实验内容:

import java.io.*;

public class lijun43

{

public static void main(String args[])

{

File f = new File(“f:mldn.txt”);

if(f.exists())

{

System.out.println(“文件已存在。”);

}

else

{

System.out.println(“文件不存在”);

}

}

};

import java.io.*;

public class lijun45

{

public static void main(String args[])

{

loop(“d:”);

}

public static void loop(String dir)

{

File f = new File(dir);

String str[] = null;

if(f.isDirectory())

{

str = f.list();

for(int i=0;i

{

loop(dir+“”+str[i]);

}

}

else

{

System.out.println(dir);

}

}

};

实验结果:

1f:mldn.txt在f盘中出现了。

心得体会:

需要多尝试,流主要是对文件侠的操作,比如文件侠创建,移动,删除等,打开一个流,

第四篇:java 文件与输入输出流

实验2文件与输入输出流(1)

一、实验目的 能够使用File类表示文件或目录,获取相关信息,并进行文件操作;  能够利用InputStream和OutputStream的子类进行字节读、写操作,明白其优点及不足;

 能够用FileInputStream和FileOutputStream进行文件读写的操作;  理解“逐层包装”思想,能够利用“数据流”(DataInputStream和DataOutputStream)包装字节流,方便各类数据的读写;

 能够利用“缓冲字节流”(BufferedInputStream和BufferedOutputStream)包装字节流,加快数据的读写速度;

 熟知System.in和System.out是PrintStream的实例。

二、实验步骤

在Eclipse环境中导入项目“code(lab_2)”,然后按要求完成各小题:

1.打开FileTest.java文件,请按下列要求进行操作:

(1)按要求填充程序所缺代码;

(2)程序的运行需要用到一个命令行参数,请分别用一个文件、目录作参数来运行程序,看一看结果有什么不同。

(在Eclipse中设置命令行参数方法:Run/Open Run Dialog „/(x)=Arguments设置)

2.在上一题的基础上,修改程序,使之具备输出指定目录下所有子目录中文件绝对路径名、大小的功能,如下所示:

子目录:C:jdk1.6.0sample

子目录:C:jdk1.6.0samplewebservices

子目录:C:jdk1.6.0samplewebservicesEbayServer

文件: C:jdk1.6.0samplewebservicesEbayServerbuild.properties,大小: 512 字节 文件: C:jdk1.6.0samplewebservicesEbayServerbuild.xml,大小: 3168 字节1

……

提示:参考课件 FileSpace.java内容,通过一个以“路径名”为参数的静态方法来实现:该方法先判断“路径名”是一个文件,还是一个目录?如果是文件,则输出其绝对路径和大小;若为一个目录,则先显示目录绝对路径,再列出该目录下的所有子目录和文件,通过循环和递归方法来执行后续处理。

3.文件FileOutputStreamTest.java的功能是:利用FileOutputStream类向myfile.txt文件写入'0'~'9'和“用字节流写入文件内容”,请填充程序所缺代码,并运行程序。然后打开myfile.txt文件,查看其内容是否与要求相符?

4.文件FileInputStreamTest1.java的功能是:利用FileInputStream类以“逐字节”方式读取myfile.txt文件内容,并输出。请填充程序所缺代码,并运行程序。问题:为什么程序输出的内容为乱码?

5.在FileInputStreamTest1.java的基础上,编写程序FileInputStreamTest2.java,利用FileInputStream类以“字节数组”方式读取myfile.txt文件内容,能正确输出,解决乱码问题。

思考题:乱码问题是怎样解决的?

6.若要将信息“Java开发典型模块大全”(书名)、“明日科技”(作者)、79.5(价格)等信息以UTF、double类型保存到文件books.txt中,请用“数据流”类编程实现。

第五篇:JAVA(IO流方法)

package Stream;

import java.io.*;

public class Io {

public void test1()throws Exception{

File file=new File(“E:/txt.txt”);

if(file.exists()){

System.out.println(“是否是文件:”+file.isFile());

System.out.println(“文件名是:”+file.getName());

System.out.println(“路径是:”+file.getPath());

System.out.println(“绝对路径是:”+file.getAbsolutePath());System.out.println(“上级目录是:”+file.getParent());System.out.println(“文件大小是:”+file.length()+“字节”);}

else {

file.createNewFile();

}

}

public void test2()throws Exception{//以字节流方式读取

File file=new File(“E:/txt1.txt”);

FileInputStream fi=new FileInputStream(file);

byte[] content= new byte[fi.available()];

/*for(int i=0;i

content[i]=(byte)fi.read();

}//读取长度后,将其转换成字符型

*///第一种方式

fi.read(content);//第二种方式

String str=new String(content);

System.out.println(str.trim());

}

public void test3()throws Exception{//以字节流方式写入数据

File file=new File(“E:/txt1.txt”);

FileOutputStream fo=new FileOutputStream(file);

byte[]content=new String(“你是一个”).getBytes();

fo.write(content);

content=new String(“呵呵”).getBytes();

fo.write(content);

fo.close();

}

public void test4()throws Exception{//用的缓冲方式文本读取

FileReader file=new FileReader(“E:/txt1.txt”);

BufferedReader br=new BufferedReader(file);

StringBuffer str=new StringBuffer();

String sw=br.readLine();

if(sw!=null){

str.append(sw+“ n”);

}

System.out.println(str);

}

public void test5()throws Exception{//用缓冲的方式写入数据然后再读入数据

FileWriter file=new FileWriter(“E:/txt1.txt”);

BufferedWriter bw=new BufferedWriter(file);

for(int i=1;i<=10;i++){

bw.write(“这是第”+i+“行”);

bw.newLine();

}

bw.close();//写放数据

FileReader file1=new FileReader(“E:/txt1.txt”);

BufferedReader br=new BufferedReader(file1);

StringBuffer str=new StringBuffer();

String sw=br.readLine();

if(sw!=null){

str.append(sw+“ n”);

}

System.out.println(str);

}

public void test6(){//删除文件

File file=new File(“E:/text.txt”);

if(file.exists()){

System.out.println(“开始删除文件 :”+file.getPath());if(file.delete()){

System.out.println(“文件删除成功”);

}

else {

System.out.println(“文件删除失败”);

}

}

else {

System.out.println(“该文件不存在”);

}

}

public void test7()throws Exception{//创建 一个文件夹---创建一个目录或路径

File file=new File(“E:/txt1.txt”);

if(file.exists()==false){

file.createNewFile();

}

}

public void test8()throws Exception {//* 将txt.txt复制文件到txt12.txt去;以字节流的的形式复制

File file=new File(“E:/txt.txt”);

FileInputStream fi=new FileInputStream(file);

byte[] content= new byte[fi.available()];

fi.read(content);

fi.read(content, 0, content.length);

String str=new String(content);

System.out.println(str);

File file1=new File(“E:/txt12.txt”);

if(file.exists()==false){

file.createNewFile();

}//如果不存在该文件则创建一件文件 再行进复制

FileOutputStream fo=new FileOutputStream(file1,true);fo.write(content);

fo.flush();

fo.close();

fi.close();//关闭流

}

public void test9()throws Exception {//另和种方式复制文件--从缓冲的形式复制

FileReader file=new FileReader(“E:/txt.txt”);

BufferedReader br=new BufferedReader(file);

String str=br.readLine();

//从文件 里面读取出来

FileWriter file1=new FileWriter(“E:/txt1.txt”);

BufferedWriter bw=new BufferedWriter(file1);

while(str!=null){

bw.write(str);

bw.newLine();

str = br.readLine();

}

bw.flush();

bw.close();

br.close();

}

public void test10()throws Exception{

File file=new File(“E:/txt.txt”);

InputStream is = new FileInputStream(file);

byte[] array = new byte[3];

int hasRead = 0;

File file1=new File(“E:/txt1.txt”);

OutputStream os = new FileOutputStream(file1);

while((hasRead=is.read(array, 0, array.length))!=-1)

{

System.out.println(“读取了”+hasRead+“个字节”);

for(int i=0;i

{

System.out.println(“第”+(i+1)+“个:”+array[i]);

}

/**每次从数组array里写入字节到文件 读多少写多少*/

os.write(array, 0, hasRead);

}

os.flush();

os.close();

is.close();

}

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

Io t=new Io();

t.test9();

}

}

下载Java 实验 文件管理与IO流word格式文档
下载Java 实验 文件管理与IO流.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Java IO流将信息写入文本文件档

    public class Test{ public static void main(String[] args) { try { BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt")); //文件将会创建在程序所在的......

    java流实验内容及代码

    实验7 流(2学时) 一、实验目的 1. 熟悉流类库中各种常用流的使用方法。 2. 能够使用流类实现基本的文件读写。 二、实验内容 1. 编写程序,在控制台窗口提示输入两个整数,然后接......

    关于java文件流的简单示例

    package myjava; import java.io.*; public class InputStreamDemo1 {//根据文件返回一个输入流 private FileInputStream getFileInputStream(File file) {FileInputStream......

    Java语言实验指导书-实验10 流范文

    一、实验目的 熟悉文件流操作方法。 应用文件流操作文件。 二、实验内容 利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、 可读性和可修......

    08 Java当中的输入输出流的学习笔记 基本IO(5篇范例)

    流的分类: 输入流(InputStream/Reader),输出流(OutputStream/Writer) 字节流(InputStream,OutputStream) 字符流(Reader/Writer) 节点流(InputStream/Reader,OutputStream/Writ......

    使用java输入输出流实现文件的复制

    使用java输入输出流实现文件的复制: public class Test {public static void copy(File source,File target){ InputStream in=null; OutputStream out=null; try { in=new B......

    实验一:磁盘与文件管理

    实验一:磁盘与文件管理 【实训目的】 1.掌握利用 NTFS 文件系统实现磁盘限额 2.掌握利用 NTFS 文件系统压缩数据 3.掌握利用 NTFS 文件系统中的 EFS 加密数据 4.掌握共享文件夹的......

    黑马程序员——IO(Input Output)流总结(一)

    IO(Input Output)流总结(一) IO流是处理数据之间数据传输的。 Java对数据的操作是通过流的方式。 Java中用于操作IO流的对象都放在java.io包中。 流的分类:按照操作数据分为:字符......