java新手笔记29 读取文件
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();
}
}
以上是 java新手笔记29 读取文件 的全部内容, 来源链接: utcz.com/z/390111.html