为了账号安全,请及时绑定邮箱和手机立即绑定

java读文件

标签:
Java

package text;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;

public class Text {

public static void main(String[] args) {

    readFileByLines();
}
/** 
 * 按行读文件 
 */  
public static void readFileByLines() {
    String fileName = "D:\\text.txt";  
    File file = new File(fileName);  
    BufferedReader reader = null;  
    try {   
        reader = new BufferedReader(new FileReader(file));  
        String tempString = null;  
        // 每次读一行,直到空  
        while ((tempString = reader.readLine()) != null) {  
            System.out.println("tempString content : " + tempString);  
        }  
        reader.close();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        if (reader != null) {  
            try {  
                reader.close();  
            } catch (IOException e1) {  
            }  
        }  
    }  
}  

/** 
 * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 
 */  
public static void readFileByBytes(String fileName) {  
    File file = new File(fileName);  
    InputStream in = null;  
    try {  
        System.out.println("以字节为单位读取文件内容,一次读一个字节:");  
        // 一次读一个字节  
        in = new FileInputStream(file);  
        int tempbyte;  
        while ((tempbyte = in.read())!=-1) {  
            System.out.println(tempbyte);  
        }  
    } catch (Exception e) {  
        // TODO: handle exception  
        e.printStackTrace();  
    }  

    try {  
        System.out.println("以字节为单位读取文件内容,一次读多个字节:");  
        // 一次读多个字节  
        byte[] tempbytes = new byte[100];  
        int byteread = 0;  
        in = new FileInputStream(fileName);  
        Text.showAvailableBytes(in);  
        // 读入多个字节到字节数组中,byteread为一次读入的字节数  
        while ((byteread = in.read(tempbytes)) != -1) {  
            System.out.write(tempbytes, 0, byteread);//好方法,第一个参数是数组,第二个参数是开始位置,第三个参数是长度  
        }  
    } catch (Exception e1) {  
        e1.printStackTrace();  
    } finally {  
        if (in != null) {  
            try {  
                in.close();  
            } catch (IOException e1) {  
            }  
        }  
    }  
}  

/** 
 * 显示输入流中还剩的字节数 
 */  
private static void showAvailableBytes(InputStream in) {  
    try {  
        System.out.println("当前字节输入流中的字节数为:" + in.available());  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
} 

}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1
获赞与收藏
6

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消