代码二些

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;
}
});
}
}
posted @ 2022-06-09 20:58  蜗牛+1  阅读(37)  评论(0)    收藏  举报