import java.io.FileInputStream;
import java.io.IOException;
public class T {
public staticvoidmain(String[] args) throws IOException {
FileInputStream fip = new FileInputStream("C:\\text\\text.txt");//写入你要读取的文本的路径int len;//读入缓冲区的总字节数,或者如果没有更多的数据,因为文件的结尾已经到达, -1 。 while((len = fip.read())!=-1){
System.out.print((char)len);}
fip.close();//注意,这个关闭流很容易忘记!}}
(4)字节流读数据(一次读一个字节数组数据)
代码如下(示例):
import java.io.FileInputStream;
import java.io.IOException;
public class T {
public staticvoidmain(String[] args) throws IOException {
FileInputStream fip = new FileInputStream("C:\\text\\text.txt");
byte[] by = new byte[1024];int len;while((len = fip.read(by))!=-1){// System.out.print(new String(by,0,len));//读取整行
System.out.print(new String(by,1,3));//读取你想要长度的字节}
fip.close();//注意,这个关闭流很容易忘记!}}
(5)字节缓冲流
构造方法
方法名
说明
BufferedOutputStream(OutputStream out)
创建字节缓冲输出流对象
BufferedInputStream(InputStream in)
创建字节缓冲输入流对象
(6)字节打印流
打印流分类
字节打印流:PrintStream
字符打印流:PrintWriter
打印流的特点
只负责输出数据,不负责读取数据
永远不会抛出IOException
有自己的特有方法
字节打印流
PrintStream(String fileName):使用指定的文件名创建新的打印流
使用继承父类的方法写数据,查看的时候会转码;使用自己的特有方法写数据,查看的数据原样输
可以改变输出语句的目的地
public static void setOut(PrintStream out):重新分配“标准”输出流
import java.io.*;
public class T {
public staticvoidmain(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\text\\text.txt"));
OutputStreamWriter oup = new OutputStreamWriter(new FileOutputStream("视频\\text.txt"));//一次读一个字节数组数据// char[] ch = new char[1024];// int len;// while ((len=isr.read(ch))!=-1){// oup.write(ch,0,len);// }//一次读一个字节数据int len;while((len=isr.read())!=-1){
oup.write(len);}
oup.flush();//注意,这个刷新流很容易忘记!如果刷新流和关闭流都忘记,文本文件为空!
oup.close();//注意,这个关闭流很容易忘记!
isr.close();}}
import java.io.File;
public class text1 {
public staticvoidmain(String[] args){
File file = new File("C:\\data\\data2");path(file);}
public staticvoidpath(File file){
File[] fi = file.listFiles();if(fi !=null){for(File f : fi){if(f.isDirectory()){path(f);}else{
System.out.println(f.getAbsoluteFile());}}}}}