永发信息网

Java编程,批量读取txt文件,并将所有文件的第一行数据中的第3位到第9位输出到控制台。

答案:2  悬赏:60  手机版
解决时间 2021-01-31 20:25
  • 提问者网友:咪咪
  • 2021-01-31 16:16
Java编程,批量读取txt文件,并将所有文件的第一行数据中的第3位到第9位输出到控制台。
最佳答案
  • 五星知识达人网友:逐風
  • 2021-01-31 16:27
我马上写一个给你。
package com.zeal.card; // 这里是我自己临时用的包名,你自己改一下就好了

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

public class Demo {


public static void main(String[] args) {
printData();
}


public static void printData() {

// 定义文本文件数组,这里是临时演示用,请自己改写
String[] txtFiles = {
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};

// 遍历文件
for (int i=0; i try {
// 得到文件
File file = new File(txtFiles[i]);
// 如果文件存在
if (file.exists()) {
// 建立缓冲包装器
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
// 读出一行(因为只是读一行,没必要遍历全部文件内容)
String temp = in.readLine();
// 如果不为空,并且长度至少为9
if (temp != null) {
if (temp.length() >=9) {
String txt = temp.substring(2, 9);
System.out.println("取出数据:" + txt);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

}

PS:代码是死的,人是活的,上面代码只是纯粹为了实现你说的功能做的一个演示,写的不好,应该将变量写在循环之外的,我没考虑那么多,反正只是读取一行。如果你需要多次用到这个功能,建议你将其封装为一个方法,给一个文件名或者File类型的文件作为参数,返回值就是你要读取的第3到9位,这样可以重复使用。
全部回答
  • 1楼网友:野味小生
  • 2021-01-31 17:21
它老说sum4.java:15: 不兼容的类型 找到: java.lang.string 需要: char  char m = x;  char m = x; 是说要把x赋值给m,  但是m是char类型, 而x是string类型.  (也就是找到: java.lang.string 需要: char) 而string类型是无法自动转换成char类型的,  所以, 必须像ls说的, 使用改为 char m = x.charat(0); 获取字符串x的第一个字符.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯