读取之前
读取之后
a,b,c,....e是表示标签,先的是数据,我需要读取特定标签下面的数据,麻烦写个代码,谢谢,我刚学java,超级菜鸟,别嘲笑,现在力求进步,谢谢大佬们,运行成功,就给币。
java需要从.txt文本里读取特定的字段,并写入另一个.txt
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
9条回答 默认 最新
- batter少年 2018-08-06 10:09关注
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class TestAAA { public static void main(String[] args) throws Exception { File file = new File("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt"); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\新建文本文档1.txt")),"UTF-8")); String[] strs = {"a", "b", "d", "e"};//要读的标签 int num[] = new int[strs.length];//每个标签的位置 String[] left = new String[strs.length]; String[] right = new String[strs.length]; BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file)); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream),5*1024*1024); String line = null; if((line = reader.readLine()) != null) { String[] infoArraay = line.split(" "); for (int i = 0; i < strs.length; i++) { for (int j = 0; j < infoArraay.length; j++) { int begin = 0; if((begin=infoArraay[j].indexOf(strs[i]))!=-1) { num[i] = j; String leftStr = infoArraay[j].substring(0, begin);; String rightStr = infoArraay[j].substring(begin+strs[i].length()-1, infoArraay[j].length()-1); left[i] = leftStr; right[i] = rightStr; writer.write(infoArraay[j]+" "); break; } } } writer.newLine(); } while((line = reader.readLine()) != null) {//逐行的读 String[] infoArraay = line.split(" "); String str = ""; for (int i = 0; i < num.length; i++) { str += infoArraay[num[i]].replace(left[i], "").replace(right[i], "")+","; } str = str.substring(0, str.length()-1); writer.write(str); writer.newLine(); } reader.close(); writer.close(); } }
改了下,你试试
运行前
a b c d .....e.....
a1 b1 c1 d1 .....e1.....
a2 b2 c2 d2 .....e2.....
a3 b3 c3 d3 .....e3.....
a4 b4 c4 d4 .....e4.....
a5 b5 c5 d5 .....e5.....
a6 b6 c6 d6 .....e6.....
a7 b7 c7 d7 .....e7.....
a8 b8 c8 d8 .....e8.....
a9 b9 c9 d9 .....e9.....
运行后
a b d e
a1,b1,d1,e1
a2,b2,d2,e2
a3,b3,d3,e3
a4,b4,d4,e4
a5,b5,d5,e5
a6,b6,d6,e6
a7,b7,d7,e7
a8,b8,d8,e8
a9,b9,d9,e9本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
- ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序