Java 第19章 IO流 课堂练习+本章作业
2024-01-02 21:41:44
Buffered流拷贝二进制文件
package com.hspedu.chapter19.outputStream;
import java.io.*;
public class BufferedCopy02 {
public static void main(String[] args) {
String srcFilePath = "c:\\bh.jpg";
String destFilePath = "c:\\hsp.jpg";
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(srcFilePath));
bos = new BufferedOutputStream(new FileOutputStream(destFilePath));
byte[] buff = new byte[1024];
int readLen = 0;
while ((readLen = bis.read(buff)) != -1) {
bos.write(buff, 0, readLen);
}
System.out.println("Copied successfully..");
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
bis.close();
bos.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
创建文件写入文本
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Homework01 {
public static void main(String[] args) throws IOException {
String filePath = "c:\\mydir";
File file = new File(filePath);
if (!file.exists()) {
if (file.mkdirs())
System.out.println(filePath + " has been created successfully..");
else
System.out.println(filePath + " was fail to be created..");
} else {
System.out.println(filePath + " has already existed..");
}
String destfile = filePath + "\\hello.txt";
File file1 = new File(destfile);
if (!file1.exists()) {
if (file1.createNewFile()) {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file1));
bufferedWriter.write("hello, world~~ 韩顺平教育");
bufferedWriter.close();
System.out.println(destfile + " has been created successfully..");
} else {
System.out.println(destfile + " has already existed..");
}
} else {
System.out.println(destfile + " has already existed..");
}
}
}
读取文本文件
public class Homework02 {
public static void main(String[] args) throws IOException {
String filePath = "c:\\hello.txt";
String line = "";
int lineNum = 0;
BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));
while ((line = bufferedReader.readLine()) != null) {
System.out.println(++lineNum + " " + line);
}
if (bufferedReader != null)
bufferedReader.close();
}
}
public class Homework02 {
public static void main(String[] args) throws IOException {
String filePath = "c:\\hello.txt";
// InputStreamReader指定编码方式
InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "gbk");
String line = "";
int lineNum = 0;
BufferedReader bufferedReader = new BufferedReader(isr);
while ((line = bufferedReader.readLine()) != null) {
System.out.println(++lineNum + " " + line);
}
if (bufferedReader != null)
bufferedReader.close();
}
}
存读Properties文件
public class Homework03 {
public static void main(String[] args) throws IOException {
String filePath = "src\\dog.properties";
Properties properties = new Properties();
properties.load(new FileReader(filePath));
String name = properties.get("name") + ""; //Object -> String
int age = Integer.parseInt(properties.get("age") + "");// Object -> int
String color = properties.get("color") + "";//Object -> String
Dog dog = new Dog(name, age, color);
System.out.println("===dog对象信息====");
System.out.println(dog);
//将创建的Dog 对象 ,序列化到 文件 dog.dat 文件
String serFilePath = "c:\\dog.dat";
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(serFilePath));
oos.writeObject(dog);
//关闭流
oos.close();
System.out.println("dog对象,序列化完成...");
}
//在编写一个方法,反序列化dog
@Test
public void m1() throws IOException, ClassNotFoundException {
String serFilePath = "e:\\dog.dat";
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(serFilePath));
Dog dog = (Dog)ois.readObject();
System.out.println("===反序列化后 dog====");
System.out.println(dog);
ois.close();
}
}
class Dog implements Serializable{
private String name;
private int age;
private String color;
public Dog(String name, int age, String color) {
this.name = name;
this.age = age;
this.color = color;
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
", color='" + color + '\'' +
'}';
}
}
文章来源:https://blog.csdn.net/Winnie_deer/article/details/135322625
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!