您的位置:首页 > 编程语言 > Java开发

java新手笔记29 读取文件

2015-08-24 21:41 627 查看
1.读取文件

package com.yfs.javase;

import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader;

public class IODemo1 {

/**
* 读取文件 显示
*/
public static void main(String[] args) throws Exception {
//readFileSteame();
readFileChar();
}

public static void readFileChar() throws Exception {
//字节流
Reader byte= new FileReader("FileDemo1.java");

int data = byte.read();
while(data != -1) {
System.out.print((char)data);
data = byte.read();
}
read.close();
}

public static void readFileSteame() throws Exception {
//File file = new File("FileDemo1.java");//源头
//输入流 源头 目的 连接 字节流
//InputStream in = new FileInputStream(file) ;
InputStream in = new FileInputStream("FileDemo1.java");
//程序 目的
int data = in.read();//读取文件数据
while(data != -1){//读到-1 文件结束
System.out.print((char)data);
data = in.read();
}

in.close();
}

}


2.输出流

package com.yfs.javase;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.Writer;

public class IODemo2 {

/**
* 输出流
*/
public static void main(String[] args) throws Exception {
//outDataSteame();
outDataChar();
}

public static void outDataChar() throws Exception {
Writer write = new FileWriter("outchar.txt");
write.write('a');//处理一个字节
write.write(5);
write.write('中');//数据丢失

write.close();
}

public static void outDataSteame() throws Exception {
File file = new File("out.txt");
//输出流
OutputStream out = new FileOutputStream(file);
out.write('a');//处理一个字节
out.write(5);
out.write('中');//数据丢失

out.close();

}

}


3.复制文件

package com.yfs.javase;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class IODemo3 {

/**
* 复制文件
*/
public static void main(String[] args) throws Exception {
// copyFileStreame();
copyFileChar();
}

public static void copyFileChar() throws Exception {
Reader in = new FileReader("E:/img/index.gif");

Writer out = new FileWriter("C:/pic1.gif");

int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
}

in.close();
out.close();
System.out.println("文件复制完成...");

}

public static void copyFileStreame() throws Exception {
InputStream in = new FileInputStream("E:/img/index.gif");

OutputStream out = new FileOutputStream("C:/pic.gif");

int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
}

in.close();
out.close();
System.out.println("文件复制完成...");
}

}


4.缓冲流

package com.yfs.javase;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class IODemo4 {

/**
* 复制文件 缓冲流
*/
public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
// copyFileStreame();
//copyFile();
//copyFile1();
copyFile2();
long end = System.currentTimeMillis();
System.out.println("复制文件使用 " + (end - start) + " 毫秒");

}
public static void copyFile2() throws Exception {
File source = new File("FileDemo1.java");
InputStream in = new FileInputStream(source);

File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
//自定义缓冲区
byte[] data = new byte[1024  * 4];//1k
int len = in.read(data);//len 读取的数据长度
while(len != -1 ) {//8
out.write(data, 0, len);
len = in.read(data);
}
in.close();
out.close();

}

public static void copyFile1() throws Exception {
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source);

File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
//自定义缓冲区
byte[] data = new byte[1024  * 4];//1k
int len = in.read(data);//len 读取的数据长度
while(len != -1 ) {//8
out.write(data, 0, len);
len = in.read(data);
}
in.close();
out.close();

}

public static void copyFile() throws Exception {
// 缓冲流
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source);

File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);
// 缓冲流套接在节点流
BufferedInputStream bufin = new BufferedInputStream(in);

BufferedOutputStream bufout = new BufferedOutputStream(out);

int data = bufin.read();
while (data != -1) {
bufout.write(data);
data = bufin.read();
}
in.close();
out.close();
}

public static void copyFileStreame() throws Exception {
File source = new File("E:/EditPlus.zip");
InputStream in = new FileInputStream(source);

File target = new File("C:/", source.getName());
OutputStream out = new FileOutputStream(target);

int data = in.read();
while (data != -1) {
out.write(data);
data = in.read();
}

in.close();
out.close();
}

}


5.流转换

package com.yfs.javase;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class IODemo5 {

/**
* 流转换  字节流 -》 字符流
*/
public static void main(String[] args) throws Exception {

InputStream in = new FileInputStream("FileDemo1.java");
showFile(in);

}

public static void showFile(InputStream in) throws Exception {
Reader read = new InputStreamReader(in);//流转换

int data = read.read();

while(data != -1) {
System.out.print((char)data);
data = read.read();
}
in.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: