1,判断

2,单选

3,多选

4,主观

1,

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner reader=new Scanner(System.in); //准备从键盘读取数据
        String line = reader.nextLine();//读取一行
        FileOutputStream fos=new FileOutputStream("d:\\data.dat"); //创建文件输入

//若读取到的一行字符串不为“end",写文件
        while(!line.equals("end"))
        {
            fos.write((line).getBytes()); //写文件
            line=reader.nextLine(); //从键盘再读一行字符
        }
        fos.close(); //输出流关闭
        StringBuffer buf=new StringBuffer(); //创建字符串缓冲区
        FileInputStream fis=new FileInputStream("d:\\data.dat"); //创建文件输出

        byte[] bytes=new byte[10];
        int len=fis.read(bytes); //第一次读文件
//若文件尚未读取结束,则边读边显示数据
        while(len!=-1)//文件读完会返回-1
        {
            String str=new String(bytes,0,len); //由字节数组构造字符串,便于观察
            buf.append(str); //追加到缓冲区,待文件读取完,再显示
            len=fis.read(bytes); //再读一次文件
        }
        fis.close(); //文件输入流关闭
        System.out.println(buf); //显示读取的数据
    }
}

2,

//参考代码1:利用FileReader和FileWriter对文件进行读写操作。
import java.io.*;
import java.util.Scanner;
public class Main {
    //可能抛出异常
    public static void main(String[] args) throws IOException {
        Scanner reader=new Scanner(System.in); //准备从键盘读取数据
        String line = reader.nextLine();//读取一行
        FileWriter fw=new FileWriter("d:\\data.dat"); //创建文件输出流
//若读取到的一行字符串不为“end",写文件
        while(!line.equals("end"))
        {
            fw.write(line); //写文件
            line=reader.nextLine(); //从键盘再读一行字符
        }
        fw.close(); //输出流关闭
        StringBuffer buf=new StringBuffer(); //创建字符串缓冲区
        FileReader fr=new FileReader("d:\\data.dat"); //创建文件输出流
        char[] chars=new char[10];
        int len=fr.read(chars); //第一次读文件
//若文件尚未读取结束,则边读边显示数据
        while(len!=-1)
        {
            String str=new String(chars,0,len); //由字节数组构造字符串,便于观察
            buf.append(str);
            len=fr.read(chars); //再读一次文件
        }
        fr.close(); //文件输入流关闭
        System.out.println(buf);
    }
}

3,

import java.*;
import java.io.*;  // 导入 java.io 包下的所有类
import java.net.*;  // 导入 java.net 包下的所有类
public class Main {
    public static void main(String[] args) throws IOException {
        //可能抛出io异常
        URL u = new URL("https://www.sdut.edu.cn/");
        //创建一个url指向网站地址
        InputStream is = u.openStream();
        //打开该 URL 地址的输入流,通过输入流可以读取该网页内容。
        OutputStream os = new FileOutputStream("d:/sdut.html");
//创建了一个文件输出流 os,用于将从网络读取到的内容写入到本地文件 d:/sdut.html。
        byte byes[] = new byte[10];
        //存储每次从输入流中读取的字节数据。每次读取的数据最多为 10 个
        int len = 0;
        while ((len = is.read(byes)) != -1)
        //read() 方法返回 -1 表示已读完所有内容
            {
            os.write(byes, 0, len);
            //将读取到的字节写入到输出流 os 对应的文件中
        }
    }
}

4,

import java.io.*;
import java.io.FileNotFoundException;
import java.util.*;
public class Main {
    public static void main(String[] args) throws FileNotFoundException 
    //抛出异常
    {
        File file = new File("d:/test.txt");
        Scanner reader = new Scanner(file); //Scanner类的构造方法,从指定文件扫描
        String str;
        StringBuffer buf1 = new StringBuffer(); //存放数字
        StringBuffer buf2 = new StringBuffer(); //存放其他
        while (reader.hasNext()) {
            str = reader.nextLine();
            for (int i = 0; i < str.length(); i++) {
                if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
                    buf1.append(str.charAt(i));
                } else {
                    buf2.append(str.charAt(i));
                }
            }
        }
        System.out.println(buf2); //输出字符
        System.out.println(buf1); //输出数字
    }
}

5,

public class Main {
    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
        Scanner reader = new Scanner(System.in);
        
        // 创建Student对象数组并初始化
        Student Array[] = {
            new Student("001", "xyl", 19, "3"),
            new Student("002", "smy", 20, "3"),
            new Student("003", "zgl", 18, "3")
        };

        // 序列化:将Student数组写入到文件"st u.dat"
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("st u.dat"));
        oos.writeObject(Array); // 将Student数组对象写入文件
        oos.close(); // 关闭流
        
        // 反序列化:从文件"stu.da t"中读取Student数组
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("stu.da t"));
        Object ob = ois.readObject(); // 从文件中读取对象
        
        // 如果读取到的对象是Student数组类型
        if (ob instanceof Student[]) {
            Student list[] = (Student[]) ob; // 强制类型转换为Student数组
            // 遍历数组,打印每个Student对象的信息
            for (Student stu : list) {
                System.out.println(stu); // 调用toString()方法输出信息
            }
        }
        ois.close(); // 关闭流
    }
}

···

posted on 2024-11-08 17:38  Hoshino1  阅读(2)  评论(0编辑  收藏  举报