java输出文本文件的内容

import java.io.File;
import java.io.FileInputStream;

public class FileTest {
 public static void main(String[] args) {
  FileInputStream fis = null;
  try {
   File file = new File("D://test.txt");
   fis = new FileInputStream(file);
   byte[] b = new byte[(int)file.length()];
   while (fis.read(b) != -1) {
   }
   System.out.println(new String(b));
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

或者

//用哪个 bufferedReader 读。
FileReader fr =new FileReader("...txt");
BufferedReader br=new BufferedReader(fr);

StringBuffer sb = new StringBuffer();
String str = null;
while ((str = br.readLine()) != null)
sb.append(str);
两个都属于字节流读取方式。
char 的范围是0~255
byte 的范围是-128~127
用char型就能读出该数据的ASCII字符,
如果用byte读出来就将是数字,并且有可能是负数。
而你这个例子,无疑是想打印出该文件中,各个字节的ASCII码。所以转成了char型,再把char转成int型。
一般纯文本文件,我们都可以用char来读取。
但对于非文本文件,我们就最好用byte来读了,因为我们读到的那个字节很可能不是正数。
FileInputStream file=new FileInputStream("filename");
InputStreamReader isr=new InputStreamReader(file);
BufferedReader br=new BufferedReader(isr);
try{
    String show=br.read()Line();
    while(show!=null){
    //String show=br.read()Line();
    System.out.println(show);
    show=br.readLine();
   }
}

 

posted @ 2013-09-21 23:20  fenglie  阅读(9026)  评论(0)    收藏  举报
版权所有,转载声明