java新手笔记29 读取文件

java

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

回到顶部