java.io操作实例代码


/** @src http://eric-619.iteye.com/blog/693695
* 输入输出流与文件处理:
*
* 0、Stream与reader/writer是用来数据的传递与文件内容的修改(访问);
* File类是用来处理文件的属性与文件的目录,不修改(访问)文件内容;
*
* 1、FileInputStream/FileOutputStream (带Stream的都是字节流,如byte[]。很小)
* 两个类的read()参数为字节或无参,read()无参表示读取单个字符。
* write()方法参数为字节或整型
*
* 2、BufferedReader/BufferedWriter (带reader/writer的都是字符流,如readLine()。很大)
*
* 3、如InputStreamReader...StreamReader...类是控制台类!
*
* 4、java.io.File类的 String[] list()方法的使用;
*
* 5、文件过滤器的写法:java.io.FilenameFilter接口的实现,
* public boolean accept(File fi; String str)方法的重写。
*
*/

import java.io.*;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.*;


public class TestIO implements Serializable{

public static void main(String[] args) {
//new TestIO().testFis();
//new TestIO().testFos();
//new TestIO().testStreamReader();
//new TestIO().testFile();
new TestIO().testFilter();
}


// 字节输入流:InputStream类
public void testFis(){
try{
FileInputStream fis = new FileInputStream("D://document//testfiles//testio.txt");
byte[] bs = new byte[fis.available()]; //表示管道要处理的源文件的总大小
fis.read(bs); //read()方法的参数是用来盛接过来数据的容器
System.out.println(new String(bs)); //字节型转化为字符串
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}


// 字节输出流: OutputStream类
public void testFos(){
try{
FileOutputStream fos = new FileOutputStream("D://document//testfiles//testio.txt");
String str = new String("aaaaaaaaa");
fos.write(str.getBytes()); //字符串转化为字节型,str.getBytes()方法
}catch(Exception e){
e.printStackTrace();
}
}


// 控制台数据操作类:StreamReader/StreamWriter类
public void testStreamReader(){
InputStreamReader isr = new InputStreamReader(System.in);
try{
for(int i=1; i>0; i++){
BufferedReader br = new BufferedReader(isr);
int is = br.read(); //此read()方法是把字符转化为Unicode码,整型的
Integer ins = new Integer(is);
String sins = ins.toString();
if(sins != null){
System.out.println(is);
}
}
}catch(Exception e){
e.printStackTrace();
}
}


// File类:String[] list()
public void testFile(){
List<File> lfs = new ArrayList<File>();
File fir = new File("D:/document/testfiles");
lfs.add(fir);
if(!lfs.isEmpty()){
for(int i = 0; i < lfs.size(); i++){
System.out.println("1-----"+lfs.get(i));
}
}

String sp = fir.getPath();
System.out.println("2-----"+sp); //完整路径(包括当前文件fir,即原样输出)

String strp = fir.getParent(); //完整路径(fir文件的上级)
System.out.println("3-----"+strp);

String strn = fir.getName(); //fir最后文件名
System.out.println("4-----"+strn);

long lf = fir.length(); //长整型字节数
System.out.println("5-----"+lf);

boolean bfsr = fir.setReadOnly(); //是否是只读文件
System.out.println("6-----"+bfsr);

fir.setReadable(true); //设置为可读取
boolean bfr = fir.canRead(); //是否是可读文件
System.out.println("7-----"+bfr);

fir.setWritable(true); //设置为可写入
boolean bfw = fir.canWrite(); //是否是可写入文件
System.out.println("8-----"+bfw);

boolean bfih = fir.isHidden(); //是否是隐藏文件
System.out.println("9-----"+bfih);

boolean bfif = fir.isFile(); //是否为标准文件
System.out.println("10-----"+bfif);

System.out.println("------------------------------");
}


// 文件过滤器的实现 java.io.FilenameFilter 接口,String[] list()读取当前文件夹下的文件!!!
// 掌握好 File的 String[] list(new ...FilenameFilter())方法
public void testFilter(){
File f1 = new File("D:/document/testfiles");
String ss[] = f1.list();
for(String ss2 : ss){
System.out.println("11-----"+f1.getPath()+"\\"+ss2);
}

String[] sss = f1.list(new MyFilter());
for(String sss2 : sss){
System.out.println("12-----"+f1.getPath()+"\\"+sss2);
}

System.out.println("----------------------------");
}


// 实现FilenameFilter接口
private class MyFilter implements FilenameFilter{
public boolean accept(File firt, String strt){
if(strt.endsWith(".class")){
return true;
}else{
return false;
}

}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值