JAVA IO操作
来源:互联网 发布:批量发送邮件软件 编辑:程序博客网 时间:2024/05/17 01:31
1.在某个文件夹下列出所有文件
File fl=new File("F:\\迅雷下载");
System.out.println(fl.isDirectory());
File[] file=fl.listFiles(new filter());
for (File file2:file) {
System.out.println(file2.getName()+" 大小:"+file2.length()/1024.0/1000.00+"M");
}
public boolean accept(File arg0) {
if (arg0.isDirectory()) {
return true;
}
return false;
}
2.文件输入流
读取文件的方式(固定写法)
FileInputStream fis=null;
try {
//创建一个文件输入流
fis=new FileInputStream("F:\\配置.txt");
//创建一个字节数组用来存储读取的信息
byte[] buf=new byte[1024];
//使用len读取长度,len>=0说明读取到了元素,可以直接对元素进行操作
int len=0;
while((len=fis.read(buf))>=0){
System.out.write(buf,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if (fis!=null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3.文件通过流的方式拷贝
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream("E:\\SN.txt");
fos=new FileOutputStream("D:/SN1.txt");
int len=0;
byte[] buf=new byte[1024];
while((len=fis.read(buf))>=0){
fos.write(buf, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
fis.close();
fos.close();
}
4.过滤流,缓冲和装饰的作用,使字节流变更强大
FileInputStream fileInputStream=null;
BufferedInputStream bufferedInputStream=null;
BufferedOutputStream bufferedOutputStream=null;
try {
fileInputStream=new FileInputStream("E:\\SN.txt");
bufferedInputStream=new BufferedInputStream(fileInputStream);
bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("D:/1.txt"));
int len=0;
byte[] bs=new byte[1024];
while((len=bufferedInputStream.read(bs))>=0){
bufferedOutputStream.write(bs,0,len);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if (bufferedOutputStream!=null) {
try {
bufferedOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (bufferedInputStream!=null) {
try {
bufferedInputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
5.数据流,若果想存储基本类型就用DataOutputStream,读取用DataInputStream
FileOutputStream fos=null;
FileInputStream fis=null;
DataOutputStream dataOutputStream=null;
DataInputStream dataInputStream=null;
try {
fos=new FileOutputStream("D:\\1.txt");
dataOutputStream=new DataOutputStream(fos);
dataOutputStream.writeInt(111);//写一个整数
dataOutputStream.writeInt(112);//写一个整数
dataOutputStream.writeInt(113311212);//写一个整数
dataInputStream=new DataInputStream(new FileInputStream("D:\\1.txt"));
System.out.println(dataInputStream.readInt());
System.out.println(dataInputStream.readInt());
System.out.println(dataInputStream.readInt());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
6.字节流一般是XXXstream,字符流一般是XXXReader,XXXWriter
此处用于读取字符文件(log日志)到系统可以根据规则判断写入文件
BufferedReader br=null;
PrintWriter pw=null;
try {
br=new BufferedReader(new FileReader("D:\\v6logs\\qmslog\\bsp.log"));
pw=new PrintWriter(new BufferedWriter(new FileWriter("D:\\1.txt")));
String str=null;
while((str=br.readLine())!=null){
if (str.startsWith("[2014-03-14")) {
System.out.println(str);
pw.println(str);
}
}
pw.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
7.使用转换流来处理标准输入
InputStream in=System.in;
/*while(true){
byte[] by=new byte[1024];
int len=0;
while((len=in.read(by))>0){
System.out.write(by,0,len);
}
}*/
BufferedReader br=null;
br=new BufferedReader(new InputStreamReader(in));
String str=null;
while((str=br.readLine())!=null){
if ("exit".equals(str)) {
break;
}else {
System.out.println("您输入了:"+str);
}
}
8.
0 0
- Java.io.*操作
- java io 操作集合
- Java的IO操作
- java io操作代码
- java io操作代码
- java io 操作集合
- java 常用IO操作
- java 常用IO操作
- Java IO操作浅析
- Java IO操作总汇
- java IO操作实例
- Java IO 操作 InputStream
- JAVA IO操作
- JAVA IO 流操作
- java IO简单操作
- java IO 文件操作
- 【Java IO】文件操作
- Java中的IO操作
- Web端服务器推送技术原理分析及dwr框架简单的使用
- Text to Speech with Mac
- 透过宏定义了解MFC的消息响应机制
- 3D数学基础,图形与游戏开发笔记2
- 装饰者模式(Decorator)
- JAVA IO操作
- 使用事件驱动模型实现高效稳定的网络服务器程序
- map容器元素的三种插入方式
- HDU 1864 最大报销额 (01背包)
- mongodb map reduce 原型
- 嵌入式 嵌入式工程师必备网站
- android设计模式学习笔记01
- 永安论坛
- a启动b,想用od调试b进程,b运行开始就能调试的方法?