Java如何读取TXT文件中的部分数字

我的TXT文件内容是这样的shoes25.35126.5cloths50.010500.0sugar1.2511.25coffee3.0721.0telephone20.... 我的TXT文件内容是这样的
shoes 25.3 5 126.5
cloths 50.0 10 500.0
sugar 1.25 1 1.25
coffee 3.0 7 21.0
telephone 20.0 2 40.0
cup 4.0 25 100.0
我要怎么才能读取最后一排的所有数字并加起来
展开
 我来答
栋暖殊T1
推荐于2016-01-20 · TA获得超过3297个赞
知道大有可为答主
回答量:2221
采纳率:0%
帮助的人:1208万
展开全部
java读取txt文件内容,可以作如下理解:
1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了,接下来可以开始打电话了;
2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西;
3、既然使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据;
4、解读完成后就要输出,那么要转换成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 码农小江
* H20121012.java
* 2012-10-12下午11:40:21
*/
public class H20121012 {
/**
* @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);
}
}
千叶育儿
推荐于2017-11-26 · 育儿、诗词分享,每天进步一点点!
千叶育儿
采纳数:1524 获赞数:5379

向TA提问 私信TA
展开全部

参考一下:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;

public class ReadText {

/**
 * @param args
 */
public static void main(String[] args) {
FileReader fr = null;
BufferedReader br = null;
BigDecimal sum = new BigDecimal(0);
try {
fr = new FileReader("C:/demo.txt");
br = new BufferedReader(fr);
String s1 = null;
while ((s1 = br.readLine()) != null) {
String tt[] = s1.split("\\s{1,}");
sum = sum.add(new BigDecimal(tt[1])).add(new BigDecimal(tt[2]))
.add(new BigDecimal(tt[3]));
}
System.out.println(sum);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}

}
追问
解决了 多谢!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c906dad
2014-10-23 · TA获得超过195个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:134万
展开全部
很简单,将TXT读成字符串,以\r分隔符拆分字符串,这样每一行是一个字符串,再以空格拆分,可以将数据存成一个二维数组,例如是data,那你将data[0][3]+data[1][3]+data[2][3]......就可以了,别忘了用Double.parseDouble将字符串转成数字
追问
但是我不会用代码实现 = =.......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zihua2005f58f
2014-10-23 · TA获得超过456个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:196万
展开全部
先判断出文件读取结束 再将所有你需要的数字相加就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一线程序猿
2014-10-23 · TA获得超过272个赞
知道小有建树答主
回答量:349
采纳率:66%
帮助的人:60.2万
展开全部
文件流的读取你就自己搞定吧,下面的步骤如下:
String str ="shoes 25.3 5 126.5\ncloths 50.0 10 500.0\nsugar 1.25 1 1.25\ncoffee 3.0 7 21.0ntelephone 20.0 2 40.0\ncup 4.0 25 100.0";
String[] splitArray = str.trim().split("\n");
String[] newSplitArray = splitArray[splitArray.length-1].trim().split(" ");
double returnD =0;
for ( int i = 0; i < newSplitArray.length; i++ ) {
if(newSplitArray[i].matches("[\\d.]+")){
returnD+=Double.parseDouble(newSplitArray[i]);
}
}
System.out.println(returnD);
追问
解决了 多谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式