java如何读取一个txt文件的所有内容

2024年11月23日 09:34
有5个网友回答
网友(1):

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
 

public class H {
    /**
     * 功能:Java读取txt文件的内容
     * 步骤:1:先获得文件句柄
     * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
     * 3:读取到输入流后,需要读取生成字节流
     * 4:一行一行的输出。readline()。
     * 备注:需要考虑的是异常情况
     * @param filePath
     */
    public static void readTxtFile(String filePath){
        try {
                String encoding="GBK";
                File file=new File(filePath);
               御哗 if(file.isFile() && file.exists()){ //判断文件是否存在
  镇扰行                  InputStreamReader read = new InputStreamReader(
                    new FileInputStream(file),encoding);//考虑到编码格式
                    BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    while((lineTxt = bufferedReader.readLine()) != null){
                        System.out.println(lineTxt);
                    }
                    read.close();
     李局   }else{
            System.out.println("找不到指定的文件");
        }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }
     
    }
     
    public static void main(String argv[]){
        String filePath = "L:\\20121012.txt";
//      "res/";
        readTxtFile(filePath);
    }
     
     
 
}

网友(2):

area是不是一个文本框?你每次setText当然会清空所有内容,所以到最后留下的只有最后一岩激行。你应该把文件内容读粗亩袜到一个数组里,数组长度1024就可以。然后把数组的内容耐悉set到area里面

网友(3):

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

public class ReadFile {

public static void main(String[] args) throws IOException {

String fileContent = readFileContent("");

System.out.println(fileContent);
}

/桐纤/参数string为局唯仿你的文件名
private static String readFileContent(String fileName) throws IOException {

File file = new File(fileName);

BufferedReader bf = new BufferedReader(new FileReader(file));

String content = "";
StringBuilder sb = new StringBuilder();

while(content != null){
content = bf.readLine();

if(content == null){
break;
}

sb.append(content.trim());
}

bf.close();
return sb.toString();
}
}
求采纳为满意回答。山春

网友(4):

area.setText(s);是每次循环都更换的,所旦嫌以只显示一行,你颂蚂可模樱手以用System.out.println(s)测试一下

网友(5):

试一下改成咐御毕下面这语句:

 拆拍  String s= null;
   while(null!=(s = jin.readLine())){
    area.setText(area.getText()+s); 
   衡芹}