现在我遇到的问题是这样的:我要从本机一个固定目录下,比如c:\
读取一个txt文件中的所有文字,文字数目较多,把这些文字写到一个字符串中(返回值),供以后使用。
我希望能写一个.java文件完成这个功能
-------------我过去使用了PrintWriter完成了写的操作,但是读还是总报错
希望得到帮助,谢谢

解决方案 »

  1.   

    LZ可以看看下面的代码import java.io.*;
    public class ReadFile {
    public static void main(String []args){
    File f=new File("c:/in.txt");
    try {
    String s=null;
    StringBuffer result=new StringBuffer();
    FileInputStream in=new FileInputStream(f);
    InputStreamReader r=new InputStreamReader(in,"utf-8");
    BufferedReader rin=new BufferedReader(r);
    while((s=rin.readLine())!=null){
    //System.out.println(s.getBytes("utf-8"));
    result.append(s);
       }

    }catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
     catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    }
      

  2.   


    值得参考,但是对于较多的汉字,StringBuffer会不会一次读取完所有文件内容还是分几次?分几次顺序问题有保证吗?
      

  3.   

    你看这个行不?
    public static String read(String fileName) throws IOException{
    BufferedReader br=new BufferedReader(new FileReader(fileName));
    StringBuilder sb=new StringBuilder();
    String s;
    while((s=br.readLine())!=null)
    {
    sb.append(s);
    sb.append("\r\n");
    }
    br.close();
    return sb.toString();
    }
      

  4.   

    public class JGrep {
    public static void main(String[] args) throws Exception {
                    FileInputStream fis=new FileInputStream("c:\\in.txt");
    InputStreamReader isr=new InputStreamReader(fis);
    BufferedReader br=new BufferedReader(isr);

    String strLine=null;
    StringBuilder buf=new StringBuilder();
    while((strLine=br.readLine())!=null){
    buf.append(strLine);
    }
                    br.close();
            }
    }