概述
JAVA实验六文件的输入输出的应用
一、实验目的
1.掌握I/O输入输出流的使用。
2.掌握文件输入输出的使用。
二、实验编程内容
1.使用文件字符输出流将一段文字存入文件,然后使用输入流读取文件中的内容。
2.将字符串加密后写入文件,然后读取该文件,并解密。
3. 参考MSDOS方式下的COPY命令,编写一个应用程序实现文件的复制。使用格式:java Copy 源文件 目标文件,功能是将源文件的内容复制到目标文件。
4. 编写一个应用程序,要求将LinkedList<E>创建的对象写入文件,在读出一个LinkedList<E>节点中的数据。
5. 使用缓冲流读取试题文件,Test.txt如下:,每次显示试题文件中的一道题目。读取到字符“*”时候暂停读取,等待用户从键盘输入答案。用户做完全部题目后,程序给出用户的得分。用户运行结果如图:
(1)北京奥运是什么时间开幕的?
A.2008-08-08B. 2008-08-01
C.2008-10-01D.2008-07-08
********************
(2)下列哪个国家不属于亚洲?
A.沙特 B.印度C.巴西 D.越南
********************
(3)下列哪个国家最爱足球?
A.刚果 B.越南C.老挝 D.巴西
********************
(4)下列哪种动物属于猫科动物?
A.鬣狗 B.犀牛C.大象 D.狮子
********************
7.删除一个文件夹.
1.
package cn.edu.nefu.zhihu;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IO1 {
public static void main(String[] args) throws Exception {
File f=new File("d:\a");
f.mkdir();//建立一个文件夹
File f1=new File("d:\a\a.txt");
f1.createNewFile(); //建立一个文件
char a[]="Wecome to BeiJing!".toCharArray();
char b[]=new char[5];
FileWriter out=new FileWriter(f1);//创建文件字符输出流
out.write(a);//写入文件
out.close();
FileReader in=new FileReader(f1);//创建文件字符输入流
int n=0;
while((n=in.read(b,0,2))!=-1){ //用字符流读到文件尾
String str=new String(b,0,n);
System.out.print(str);
}
in.close();
}
}
2.
package cn.edu.nefu.zhihu;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IO3 {
public static void main(String[] args) throws IOException{
File f=new File("d:\a\b.txt");
f.createNewFile();
String s="Welcome to JAVA!";
char a[]=s.toCharArray();
for(int i=0;i<a.length;i++){
a[i]=(char)(a[i]^'a');
}
FileWriter out=new FileWriter(f);
FileReader in=new FileReader(f);
out.write(a);
out.close();
int n;
while((n=in.read(a,0,2))!=-1){
for(int i=0;i<n;i++){
a[i]=(char)(a[i]^'a');
}
String str=new String(a,0,n);
System.out.print(str);
}System.out.println();
}
}
3.
存在相应的路径和相应的文件,并且文件中有内容
package cn.edu.nefu.zhihu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IO4 {
public static void main(String[] args) throws IOException {
File writeFile=new File("D:\a\writeFile.txt");
writeFile.createNewFile();
FileReader inOne=new FileReader("D:\a\a.txt");
BufferedReader inTwo=new BufferedReader(inOne);
FileWriter tofile=new FileWriter("D:\a\writeFile.txt");
BufferedWriter out=new BufferedWriter(tofile);
String s=null;
while((s=inTwo.readLine())!=null){
out.write(s);
out.newLine();
}
out.flush();
out.close();
tofile.close();
inOne=new FileReader("D:\a\writeFile.txt");
inTwo=new BufferedReader(inOne);
while((s=inTwo.readLine())!=null){
System.out.println(s);
}
inOne.close();
inTwo.close();
}
}
4.
package cn.edu.nefu.zhihu;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Iterator;
import java.util.LinkedList;
public class Test2 {
public static void main(String[] args) throws IOException, ClassNotFoundException{
LinkedList<Student> list=new LinkedList<Student>();
Student s1=new Student("Kary",99);
Student s2=new Student("Jun",100);
Student s3=new Student("Lili",87);
list.add(s1);
list.add(s2);
list.add(s3);
FileOutputStream file_out=new FileOutputStream("D:\a.txt");
ObjectOutputStream object_out=new ObjectOutputStream(file_out);
Iterator<Student> iter=list.iterator();//利用迭代器向文件中写入数据
while(iter.hasNext()){
Student it=iter.next();
object_out.writeObject(it);
}
object_out.close();
FileInputStream file_in=new FileInputStream("D:\a.txt");
ObjectInputStream object_in=new
ObjectInputStream(file_in);
int size=list.size();//利用原来链表的规模从文件中读
System.out.println("The Size of List Is: "+size);
Student ss;
System.out.println("The List is:");
for(int i=0;i<size;i++){
ss=(Student)object_in.readObject();
System.out.println(ss.name+" "+ss.score);
}
object_in.close();
}
}
5.
首先在代码所对应的绝对路径上建立存有相应内容发文件
代码实现:
package cn.edu.nefu.zhihu;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class IO2 {
public static void main(String []args){
Scanner inputAnswer=new Scanner(System.in);//键盘输入
int score=0;
StringBuffer answer=new StringBuffer(); //用户输入的答案存放在可以更改的缓冲流中
String result="ACDD";//标准答案存放在字符常量区中
try{//其中含有异常,所以要进行try-catch
FileReader inOne=new FileReader("d:\test.txt");//路径的另外两种写法(D:/test.txt)或者(D/text.txt)
BufferedReader inTwo=new BufferedReader(inOne);
String s=null;
while((s=inTwo.readLine())!=null){//读一行能够读到
if(s.startsWith("*")==false) //若不是以*开始的,直接输出题目要求即可
System.out.println(s);
else {
System.out.println("请输入选择的答案(A,B,C,D):");
String str=inputAnswer.nextLine();
try{
char c=str.charAt(0);
answer.append(c);
}
catch(StringIndexOutOfBoundsException exp){
answer.append("*");
}
}
}
inOne.close();
inTwo.close();
}
catch(IOException exp){
}
for(int i=0;i<result.length();i++){//匹配答案
if(result.charAt(i)==answer.charAt(i) || result.charAt(i)==answer.charAt(i)-32)
score+=25;
}
System.out.printf("最终得分为:%dn",score);
}
}
7.
在有指定路径的前提下,完成先创建后删除的工作
package cn.edu.nefu.zhihu;
import java.io.File;
import java.io.IOException;
public class IO5 {
static void dele(File star){
if(star.isFile()){
star.delete();
return;
}
File[]ll=star.listFiles();
if(star.isDirectory()&&ll.length!=0){
for(int i=0;i<ll.length;i++){
System.out.println(ll[i].getAbsolutePath());
dele(ll[i]);
}
}
ll=star.listFiles();
if(star.isDirectory()&&(ll.length==0)){
System.out.println("文件夹"+star.getName()+"被删除!");
star.delete();
}
}
public static void main(String[] args) throws IOException{
File a,b,c,d;
File div,div1,div2,div3,div4;
div=new File("D:\div");
div.mkdir();
a=new File("D:\div\a.txt");
a.createNewFile();
b=new File("D:\div\b.txt");
b.createNewFile();
div2=new File("D:\div\div2");
div2.mkdir();
c=new File("D:\div\div2\c.txt");
c.createNewFile();
div3=new File("D:\div\div2\div3");
div3.mkdir();
div4=new File("D:\div\div2\div3\div4");
div4.mkdir();
d=new File("D:\div\div2\div3\d.txt");
d.createNewFile();
File star=new File("D:\div");
dele(star);
File divk=new File("D:\abcd");
divk.mkdir();//只删除一个文件夹
divk.delete();
}
}
最后
以上就是活泼老师为你收集整理的JAVA实验六文件的输入输出的应用的全部内容,希望文章能够帮你解决JAVA实验六文件的输入输出的应用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复