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(); // 关闭流
}
}
···