代码二些
1.封装

2.捕获异常 (try catch finally) (Ctrl+Alt+T快捷键)

3.抛出异常(throw throws)

4.IO文件字节流(文本,图片,影音)
package com.io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileCopyTools {
public static void main(String[] args) {
copyFile("d:/999.jpg","d:/333.jpg");
}
public static void copyFile(String src,String des){
FileInputStream fis = null;
BufferedInputStream bis = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try{
bis = new BufferedInputStream(new FileInputStream(src));
bos = new BufferedOutputStream(new FileOutputStream(des));
int temp = 0;
while ((temp = bis.read())!=-1){
bos.write(temp);
}
bos.flush();
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (bis!=null){
bis.close();
}
if (fis!=null){
fis.close();
}
if (bos!=null){
bos.close();
}
if (fos!=null){
fos.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
5.IO转换流 实现键盘输入屏幕输出
import java.io.*;
public class ConvertStream {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
while (true){
bw.write("请输入:");
bw.flush();
String input = br.readLine();
if ("exit".equals(input)){
break ;
}
bw.write("您输入的是:"+input);
bw.newLine();
bw.flush();
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (bw!=null){
bw.close();
}
if (br!=null){
br.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
6. IO流 通过字节流读取文本文件并添加行号
package com.io;
import java.io.*;
public class LineNumberDemo02 {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.txt")));
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/g.txt")));
String temp = "";
int i = 1;
while ((temp = br.readLine())!=null){
bw.write(i+"."+temp);
bw.newLine();
i++;
}bw.flush();
}catch (Exception e){
e.printStackTrace();
}finally {
try{
if (bw!=null){
bw.close();
}
if (br!=null){
br.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
7.IO流 PrintWriter实现字符换行输出
package com.io;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class LineNumberDemo03 {
public static void main(String[] args) {
BufferedReader br = null;
PrintWriter pw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.txt")));
pw = new PrintWriter("d:/h.txt");
String temp = "";
int i = 1;
while ((temp=br.readLine())!=null){
pw.println(i+"."+temp);
i++;
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (br!=null){
br.close();
}
if (pw!=null){
pw.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
8.IO流ObjectOutputStream将对象序列化到文件,再反序列化回内存
一.创建一个对象(被序列化的对象必须要实现Seriliazable序列化接口)
package com.io;
import java.io.Serializable;
public class Users implements Serializable {
private int userid;
private String username;
private String userage;
public Users(int userid, String username, String userage) {
this.userid = userid;
this.username = username;
this.userage = userage;
}
public Users() {
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserage() {
return userage;
}
public void setUserage(String userage) {
this.userage = userage;
}
}
二.将对象序列化到文件
package com.io;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class ObjectOutputStreamObjectTypeDemo {
public static void main(String[] args) {
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(new FileOutputStream("d:/ccl6.txt"));
Users users = new Users(1,"ccl","18");
oos.writeObject(users);
oos.flush();
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (oos != null){
oos.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
三.将对象反序列化回内存
package com.io;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class ObjectInputStreamObjectTypeDemo {
public static void main(String[] args) {
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new FileInputStream("d:/ccl6.txt"));
Users users = (Users) ois.readObject();
System.out.println(users.getUserid()+"\t"+users.getUsername()+"\t"+users.getUserage());
}catch (Exception e){
e.printStackTrace();
}finally {
try{
if (ois != null){
ois.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
9.FileUtils 文件过滤后拷贝
package com.io;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.FileFilter;
public class FileUtilsDemo02 {
public static void main(String[] args)throws Exception {
FileUtils.copyDirectory(new File("d:/a"), new File("e:/a"), new FileFilter() {
//在文件拷贝时的过滤条件
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()||pathname.getName().endsWith("html")){
return true;
}
return false;
}
});
}
}

浙公网安备 33010602011771号