java 怎么读取文件中的字符和数据

java 怎么读取文件中的字符和数据,第1张

JDK版本 15
测试结果
resulttxt 文件中的内容如下
李明 40:50:60:70:80
姓名:李明 总成绩:300
刘胜 45:55:65:75:85
姓名:刘胜 总成绩:625
不明白+QQ 379821283
代码如下:
package comrabbittest;
import javaioBufferedReader;
import javaioBufferedWriter;
import javaioFileInputStream;
import javaioFileOutputStream;
import javaioInputStreamReader;
import javaioOutputStreamWriter;
public class TestFile {
public static void main(String[] args) throws Exception{
//获得文件输入流 假设目标文件名为datatxt
FileInputStream fin = new FileInputStream("datatxt");
InputStreamReader inR = new InputStreamReader(fin);
BufferedReader bfR = new BufferedReader(inR);
//获得文件输出流 假设目标文件名为resutltxt 追加方式
FileOutputStream fout = new FileOutputStream("resutltxt",true);
OutputStreamWriter outW = new OutputStreamWriter(fout);
BufferedWriter bfW = new BufferedWriter(outW);

String temp = "";//临时缓存 保存读取到的每一行记录
String[] tempArr = {};//临时缓存 保存用空格拆分该行记录得到的数组
String name="";//临时缓存 保存姓名
String[] scoreTemp = {};//临时缓存 保存分数串拆分后得到的数组
int totalScore = 0;//临时缓存 总成绩
//开始读文件
while((temp=bfRreadLine())!=null){
//正则表达式拆分读取到的每行 拆分成 姓名+分数串
tempArr = tempsplit("[ ]+");
//得到姓名
name = tempArr[0];
//正则表达式拆分分数串得到分数数组
scoreTemp = tempArr[1]split(":");
//循环分数数组 得到总成绩
for(int i=0;i<scoreTemplength;i++){
totalScore += IntegerparseInt(scoreTemp[i]);
}
//写入结果文件
bfWwrite(temp+"\r\n");
bfWwrite("姓名:"+name+" 总成绩:"+totalScore+"\r\n");
}
//关闭流
bfRclose();
bfWclose();
}
}
测试正常

import javaioBufferedReader;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
import javaioInputStream;
import javaioInputStreamReader;
import javaioReader;
public class read {
public static void main(String[] args) {
InputStream in;

try {
in = new FileInputStream("src/rttxt"); //读取文件
Reader inr=new InputStreamReader(in); //转变字符流
BufferedReader read =new BufferedReader(inr); //可以出现读取行的 *** 作,具体记不住了
String s1;
while((s1=readreadLine())!=null){
Systemoutprintln(s1);
} //能把你文件内容全部打出来
readclose();
//剩余的你的还需要 String里面一个正则 什么的 就是按照一个东西分割字符串 然后分割以后放入数组中
//然后就好做了 自己看看API 做吧很简单的因为你说的我实在不清楚,还有对于这个问题本人不在管了,
//剩余完全可以自己完成。无需再问
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}

import javaioBufferedInputStream;
import javaioBufferedReader;
import javaioFile;
import javaioFileInputStream;
import javaioInputStreamReader;
import javaioReader;
 
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(fileisFile() && fileexists()){ //判断文件是否存在
                    InputStreamReader read = new InputStreamReader(
                    new FileInputStream(file),encoding);//考虑到编码格式
                    BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    while((lineTxt = bufferedReaderreadLine()) != null){
                        Systemoutprintln(lineTxt);
                    }
                    readclose();
        }else{
            Systemoutprintln("找不到指定的文件");
        }
        } catch (Exception e) {
            Systemoutprintln("读取文件内容出错");
            eprintStackTrace();
        }
     
    }
     
    public static void main(String argv[]){
        String filePath = "L:\\20121012txt";
//      "res/";
        readTxtFile(filePath);
    }
     
     
 
}

File 类是对文件和文件夹的抽象,包含了对文件和文件夹的多种属性和 *** 作方法。File类的常用方法如下表:
返回
方法
说明
String getName 获取文件名称
String getParent 获取文件的父路径字符串
String getPath 获取文件的相对路径字符串
String getAbsolutePath 获取文件的绝对路径字符串
boolean exists 判断文件或者文件夹是否存在
boolean isFile 判断是不是文件类型
boolean isDirectory 判断是不是文件夹类型
boolean delete 删除文件或文件夹,如果删除成功返回结果为true
boolean mkdir 创建文件夹,创建成功返回true
boolean setReadOnly 设置文件或文件夹的只读属性
long length 获取文件的长度
long lastModified 获取文件的最后修改时间
String[ ] list 获取文件夹中的文件和子文件夹的名称,并存放到字符串数组中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12604649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存