Java 如何读取txt文件的内容?

如上图,一方面记录序号,一方面记录对应的值?能有代码么,谢谢... 如上图,一方面记录序号,一方面记录对应的值?
能有代码么,谢谢
展开
 我来答
小辣椒花g
2017-10-29 · TA获得超过315个赞
知道小有建树答主
回答量:399
采纳率:72%
帮助的人:52.6万
展开全部

java读取txt文件内容。可以作如下理解:

  • 首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。

  • 通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西

  • 既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据

  • 解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。

package com.campu;
 
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
 
/**
 * @author Java团长
 * H20121012.java
 * 2017-10-29上午11:22:21
 */
public class H20121012 {
    /**
     * 功能: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:\\Apache\\htdocs\\res\\20121012.txt";
//      "res/";
        readTxtFile(filePath);
    }
     
     
 
}
我有一个微信公众号,经常会分享一些Java技术相关的干货文章,还有一些学习资源。
如果你需要的话,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
匿名用户
推荐于2017-10-29
展开全部
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Readtxt {
public static void main(String[] args) {
        try {
            Scanner in = new Scanner(new File("d:/abc.txt"));
 
            while (in.hasNextLine()) {
                String str = in.nextLine();
                splitt(str);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

public static String[] splitt(String str){
String strr = str.trim();
String[] abc = strr.split("[\\p{Space}]+");
String str1 = abc[0];
String str2 = abc[1];
System.out.println(str1);
System.out.println(str2);
return abc;
}

}

 说明:“\p{Space}”匹配空白字符,前面加个反斜线字符,是为了转义。转义后,加了个中括号,是分了分组,不加中括号也没事,只是给清楚点,后面的加号是“一次或多次”的意思。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
2014-03-18 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:950万
展开全部
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class $ {
    public static void main(String[] args) {
        try {
            Scanner in = new Scanner(new File("D:/a.txt"));

            while (in.hasNextLine()) {
                String str = in.nextLine();
                System.out.println(str);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}
可以取出来了,取出来的,你想怎么处理?
追问
你好,是这样的,我想把序号和数据记录到两个变量里
追答
            while (in.hasNextLine()) {
                String str = in.nextLine();

                String[] arr = str.split("   ");//txt里面用什么间隔,这里面就放什么.得到了数组,你自己处理吧
                System.out.println(Arrays.toString(arr));
            }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝胖子的小兜兜
2014-03-18
知道答主
回答量:36
采纳率:0%
帮助的人:13万
展开全部
按行读取之后每行转为字符串,对字符串进行解析,空格前面的是序号,空格后面的是相应的值。
字符串解析算法: 创建一个boolean变量,值为false,当这行读出空格的时候赋值为true,解析的时候如果这个boolean变量为true就把字符存入值里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-03-18 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
能有的,很简单,readLine即可,然后封装到Map里面,key就是序号,value就是后面的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式