SDUT JAVA实验五 输入输出练习整理

最近一直比较忙,考试一个接着一个,Java机测完就是数据结构机测,12月份还要准备四级考试和英语期末,紧接着就是紧张的其他科目的期末复习了,所以一直没大空打理博客,所以最近更新的博文都是这段时间写的代码记录。当然,这些天也收集到一些干货,但还是没时间整理出来...
好货不怕晚,下次一定干货满满!

实验目的:

(1)掌握文件类File、字节输入流及其子类、字节输出流及其子类、字符输入流及其子类、字符输出流及其子类对象的创建,利用方法读取文件资源、网络资源。
(2)掌握对象流、序列化、Scanner类等相关类使用。
(3)掌握带缓冲区的输入、输出流类及其使用。
(4)掌握输入、输出重定向。

实验内容:

1、使用Scanner类解析文件。
(1)准备文件test.txt内容,内含字符、数字等文本信息;
(2)使用Scanner类读取里面的字符信息和数字信息分别输出。
2、利用对象输入/输出流进行文件的读写。
根据要求编写程序:
(1)创建类Student,内含学号、姓名、年龄、班级等属性,重写父类的toString()方法,用于输出学生的信息;
(2)建立测试类,建立Student类的对象数组stuArray,里面放置若干个学生对象,将数组中的数据依次写入文件stu.dat;然后读取该文件中的信息,依次还原出数组中各Student对象的信息。
3、用打开文本对话框选取文件,读写文件内容。
用打开文本对话框选取文件,读取文件内容,在显示器中显示出来,进行小写字母转换成大写字母,然后用保存文本对话框选取目标文件,向目标文件里面追加写入处理后的字符。
提示程序:
4、读取网络资源,写出代码至文件。
读取“http://www.sdut.edu.cn"网页内容,存至“sdut.html"。
提示语句:
URL url=new URL("http://www.sdut.edu.cn");
InputStream is = url.openStream();
5、利用各种输入输出流进行读写文件,分析其读写效率。
读出文件D:test1.txt的内容,显示在屏幕的同时,将文件写至D:test2.txt中,计算其执行的时间,从而分析执行的效率。
提示,可用如下的输入/输入流类:
字节输入/输出流:FileInputStream和FileOutputStream、BufferedInputStream和BufferedOutputStream、DataInputStream和DataOutputStream;
字符输入/输出流:FileReader和FileWriter、BufferedReader 和 BufferedWriter
6、利用DataInputStream和DataOutputStream读写文件。
将数字1-100、字母A-Z、a—z写出至文件D:abc.txt中,然后读取出来,显示在屏幕上。
7、利用File类进行文件及文件夹名称的显示。
编写应用程序,列出指定目录(d:/test)下的所有文件和目录名,然后将该目录下的所有文件后缀名为.txt的文件过滤出来显示在屏幕上。
8、使用File类创建一个多层目录d:javach10src。
9、使用File类列出某一个目录下创建日期晚于2017-08-10的文件。

提交作业要求:

1、内容:每个题的题目要求,提交自己编写的源代码(按题目顺序将源代码放到一个文档)。
2、雷同作业不得分,利用工具进行查重。

Reference Code

第一题:

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String args[]) throws Exception {
        File file = new File("test.txt");
        Scanner reader = new Scanner(file);
        StringBuffer num = new StringBuffer();
        StringBuffer cha = new StringBuffer();
        String str;
        while (reader.hasNext()) {
            str = reader.nextLine();
            for (int i=0;i<str.length();i++) {
                if (str.charAt(i)>='0' && str.charAt(i)<='9') {
                    num.append(str.charAt(i));
                } else {
                    cha.append(str.charAt(i));
                }
            }
        }
        System.out.println("数字:" + num);
        System.out.println("字符:" + cha);
        reader.close();
    }
}

第二题:

import java.io.*;

class Student implements Serializable {
    private static final long serialVersionUID = 5783005669204145853L;
    String id, name, classname;
    int age;
    public Student(String id,String name,String classname,int age) {
        super();
        this.id = id;
        this.name = name;
        this.classname = classname;
        this.age = age;
    }
    public String toString() {
        return "id:" + id + " name:" + name +" classname:" + classname + " age:" + age;
    }
}

public class Main {
    public static void main(String args[]) throws Exception {
        Student stu1 = new Student("001","abc","class01",18);
        Student stu2 = new Student("002","def","class02",19);
        Student stu3 = new Student("003","hig","class03",20);
        Student[] stuArray = new Student[] {stu1,stu2,stu3};
        
        ObjectOutputStream write = new ObjectOutputStream(new FileOutputStream("stu.dat"));
        ObjectInputStream read = new ObjectInputStream(new FileInputStream("stu.dat"));
        
        write.writeObject(stuArray);
        Student[] stus = (Student[])read.readObject();
        
        for (Student stu:stus) {
            System.out.println(stu);
        }
        
        write.close();
        read.close();
    }
}

第三题:

import java.io.*;
import javax.swing.*;

public class Main {
    public static void main(String[] args) throws Exception {
        StringBuffer stringbuffer = new StringBuffer();
        BufferedReader reader;
        BufferedWriter writer;
        JFileChooser choose = new JFileChooser();

        int result = choose.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            File file = choose.getSelectedFile();
            reader = new BufferedReader(new FileReader(file));
            String str;
            while ((str = reader.readLine()) != null) {
                str = str.toUpperCase();
                stringbuffer.append(str);
            }
            System.out.println(stringbuffer);
        }
        
        result = choose.showSaveDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            File file = choose.getSelectedFile();
            writer = new BufferedWriter(new FileWriter(file));
            writer.write(stringbuffer.toString());
            writer.flush();
            writer.close();
        }
    }
}

第四题:

import java.io.*;
import java.net.*;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("https://www.sdut.edu.cn");
        InputStream input = url.openStream();
        OutputStream output = new FileOutputStream("sdut.html");
        
        byte[] str = new byte[10];
        int len;
        
        while((len = input.read(str))!=-1) {
            output.write(str,0,len);    
        }
        output.close();
    }
}

第五题:

import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        long timer1 = System.currentTimeMillis();

        Reader reader = new FileReader("D:\\test1.txt");
        Writer writer = new FileWriter("D:\\test2.txt");

        char[] chars = new char[10];
        int len;

        while ((len = reader.read(chars)) != -1) {
            writer.write(chars, 0, len);
        }

        reader.close();
        writer.close();

        long timer2 = System.currentTimeMillis();
        
        System.out.println("所用时间:" + (timer2 - timer1) + "毫秒");
    }
}

第六题:

import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        FileOutputStream outputselect = new FileOutputStream("D:\\abc.txt");
        DataOutputStream output = new DataOutputStream(outputselect);

        FileInputStream inputselect = new FileInputStream("D:\\abc.txt");
        DataInputStream input = new DataInputStream(inputselect);

        for (int i = 1; i <= 100; i++) {
            output.writeInt(i);
        }

        for (int i = 65; i <= 90; i++) {
            output.writeChar(i);
        }

        for (int i = 97; i <= 122; i++) {
            output.writeChar(i);
        }
        output.close();

        System.out.println("数字1-100");
        for (int i = 1; i <= 100; i++) {
            System.out.print(input.readInt() + " ");
        }
        System.out.println("\nA-Z");
        for (int i = 65; i <= 90; i++) {
            System.out.print(input.readChar() + " ");
        }
        System.out.println("\na-z");
        for (int i = 97; i <= 122; i++) {
            System.out.print(input.readChar() + " ");
        }
        input.close();
    }
}

第七题:

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        File folder = new File("D:\\test");
        File[] files = null;
        if (folder.isDirectory()) {
            files = folder.listFiles();
        } else {
            System.out.println("目标文件夹不存在!");
        }
        if (files != null) {
            System.out.println("目标目录下所有文件的文件名:");
            for (File file : files) {
                System.out.println(file.getName());
            }
            System.out.println();
            System.out.println("txt文件如下:");
            for (File file : files) {
                if (file.getName().endsWith(".txt"))
                    System.out.println(file.getName());
            }
        }
        scanner.close();
    }
}

第八题:

import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        File file = new File("D:\\java\\ch10\\src");
        file.mkdirs();
    }
}

第九题:

import java.io.*;
import java.text.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入文件夹路径:");
        String route = scanner.nextLine();
        String date = "2017-08-10 00:00:00";

        File file = new File(route);
        File[] filelist = file.listFiles();
        
        for (int i = 0; i < filelist.length; i++) {
            long filedate = filelist[i].lastModified();
            SimpleDateFormat sample = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String complex = sample.format(new Date(Long.parseLong(String.valueOf(filedate))));
            if (complex.compareTo(date) > 0) {
                System.out.println("文件路径: " + filelist[i] + " 最后编辑时间:" + filedate);
            }
        }
        scanner.close();
    }
}
~~End Of File~~

本文永久链接:https://blog.xmgspace.me/archives/sdut-experiments-java-5.html

本文文章标题:SDUT JAVA实验五 输入输出练习整理

本站欢迎转载与引用~但您需要注明文章标题与链接,并表明转载/引用自Xiaomage's Blog。

授权协议:署名-非商业性使用-相同方式共享 4.0 国际(CC BY 4.0)

标签:JAVA

还没有人评论哦,还不快抢沙发~

添加新评论

i_f01.pngi_f02.pngi_f03.pngi_f04.pngi_f05.pngi_f06.pngi_f07.pngi_f08.pngi_f09.pngi_f10.pngi_f11.pngi_f12.pngi_f13.pngi_f14.pngi_f15.pngi_f16.pngi_f17.pngi_f18.pngi_f19.pngi_f20.pngi_f21.pngi_f22.pngi_f23.pngi_f24.pngi_f25.pngi_f26.pngi_f27.pngi_f28.pngi_f29.pngi_f30.pngi_f31.pngi_f32.pngi_f33.png