1、图片top.bmp位于C盘根目录下,要求将此图片复制到D:\myDoc\myPicture.bmp
package homework;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Problem1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
InputStream is = new FileInputStream(new File("C:\\2.jpg"));//创建文件输入流
OutputStream os = new FileOutputStream(new File("D:\\myDoc\\2.jpg"));//创建文件输出流
byte[] bs = new byte[1024];
int len;
while((len=is.read(bs, 0, bs.length))!=-1){//read方法返回读取字节的个数
os.write(bs, 0, len);//将读取的字节写入os对应的文件
}
os.close();
is.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
2、读取模板文件C:\pet.templater的内容,按照pet.template的模板格式保存宠物数据到文本文件,即把{name}、{type}、{master}替换为具体的宠物信息,将替换后的内容写入到D\myDoc\pet.txt中
package homework;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Problem2 {
public static String changeStr(String oldStr,String name,String type,String master){//该方法用来改变字符串
oldStr ="\n" + oldStr.replace("前", "后");
oldStr = oldStr.replace("前", "后");
oldStr = oldStr.replace("{name}", name);
oldStr = oldStr.replace("{type}", type);
oldStr = oldStr.replace("{master}", master);
return oldStr;
}
public static void main(String[] args) {
try {
FileReader fr = new FileReader(new File("pet.txt"));//文件读入
BufferedReader bfr = new BufferedReader(fr);//使用BufferedReader,因为它的readline还挺好用的
String str = bfr.readLine();
str = changeStr(str, "欧欧", "狗狗", "李伟");
FileWriter fw = new FileWriter(new File("pet.txt"),true);//文件写出,true表示在原有的内容上添加
BufferedWriter bfw = new BufferedWriter(fw);//buffere输入,也用buffere输出
fw.write(str);
fw.flush();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
3、将Java对象保存到文本文件中并还原
package homework;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
class Person implements Serializable{//对象要先继承序列化接口
private String name;
private int age;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
public class Problem3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person("张三",22);
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();//为了用byte[]数组存储
//也可以用文件流存储
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(p1);
byte[] bs = baos.toByteArray();
oos.close();
baos.close();
ByteArrayInputStream bais = new ByteArrayInputStream(bs);
ObjectInputStream ois = new ObjectInputStream(bais);
Person p2 = (Person)ois.readObject();
System.out.println(p2);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}