JAVA文件操作的问题
一文本文件如附件所示有n行数据每一行为一个字符串可以转换为字符串、数字、日期(日期形如2007-12-12)三种类型要求字符串长度大于40小于等于1的忽略其余的取第2到的...
一文本文件如附件所示 有n行数据每一行为一个字符串 可以转换为字符串、数字、日期(日期形如2007-12-12)三种类型
要求
字符串长度 大于40 小于等于1的 忽略 其余的取第2到的8字符 组成字符串 不足8个取至该行结尾
日期型 计算与2000年1月1日相差的毫秒数 进行累加
数字的将奇数忽略 偶数累加
将字符串 日期累加 数字累加的结果分三行输出 添加到给定文件的最后
文本文件如下:(我的思路是读取这个文件然后存入LIST中来)
2007-12-1
abcdefg
窗前明月光,疑是地上霜
13
26
附件预算定额:由[钻井工程成果表.mdb]
899
30
97
2001-1-1
1990-2-18
文件“优秀员工评选.doc”已经成功接收
68
86
就刚刚看的那个网站上的图片,也不可能都是他们公司的案例就刚刚看的那个网站上的图片,也不可能都是他们公司的案例就刚刚看的那个网站上的图片,也不可能都是他们公司的案例
轻车熟路 展开
要求
字符串长度 大于40 小于等于1的 忽略 其余的取第2到的8字符 组成字符串 不足8个取至该行结尾
日期型 计算与2000年1月1日相差的毫秒数 进行累加
数字的将奇数忽略 偶数累加
将字符串 日期累加 数字累加的结果分三行输出 添加到给定文件的最后
文本文件如下:(我的思路是读取这个文件然后存入LIST中来)
2007-12-1
abcdefg
窗前明月光,疑是地上霜
13
26
附件预算定额:由[钻井工程成果表.mdb]
899
30
97
2001-1-1
1990-2-18
文件“优秀员工评选.doc”已经成功接收
68
86
就刚刚看的那个网站上的图片,也不可能都是他们公司的案例就刚刚看的那个网站上的图片,也不可能都是他们公司的案例就刚刚看的那个网站上的图片,也不可能都是他们公司的案例
轻车熟路 展开
1个回答
展开全部
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class OpText {
public static void main(String[] args) throws IOException{
File f = new File("d:\\file\\file.txt");
if(!f.exists()){
System.out.println("文件不存在!");
return;
}
// 累加数字偶数
int number = 0;
// 时间差累计结果
long timeAdded = 0;
// 累加字符串
StringBuffer strAppend = new StringBuffer();
InputStream input = new FileInputStream(f);
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String value = reader.readLine();
while(value != null){
try{
int n = Integer.parseInt(value.trim());
if(n%2 == 0){
number += n;
}
}catch(Exception e){
if(value.indexOf("-")>0){
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String standard = "2007-01-01";
try {
Date d = format.parse(value.trim());
Date standardDate = format.parse(standard);
timeAdded = timeAdded+ d.getTime()-standardDate.getTime();
} catch (ParseException e1) {
System.out.println("日期格式不正确!");
e1.printStackTrace();
}
}else{
if(value.length()>8){
strAppend.append(value.substring(1,8));
}else{
strAppend.append(value);
}
}
}
value = reader.readLine();
}
OutputStream output = new FileOutputStream("d:\\file\\file.txt",true);
output.write(("\r\n时间差:"+timeAdded+"\r\n").getBytes());
output.write(("偶数和:"+number+"\r\n").getBytes());
output.write(("字符串:"+strAppend.toString()).getBytes());
output.close();
reader.close();
input.close();
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class OpText {
public static void main(String[] args) throws IOException{
File f = new File("d:\\file\\file.txt");
if(!f.exists()){
System.out.println("文件不存在!");
return;
}
// 累加数字偶数
int number = 0;
// 时间差累计结果
long timeAdded = 0;
// 累加字符串
StringBuffer strAppend = new StringBuffer();
InputStream input = new FileInputStream(f);
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String value = reader.readLine();
while(value != null){
try{
int n = Integer.parseInt(value.trim());
if(n%2 == 0){
number += n;
}
}catch(Exception e){
if(value.indexOf("-")>0){
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String standard = "2007-01-01";
try {
Date d = format.parse(value.trim());
Date standardDate = format.parse(standard);
timeAdded = timeAdded+ d.getTime()-standardDate.getTime();
} catch (ParseException e1) {
System.out.println("日期格式不正确!");
e1.printStackTrace();
}
}else{
if(value.length()>8){
strAppend.append(value.substring(1,8));
}else{
strAppend.append(value);
}
}
}
value = reader.readLine();
}
OutputStream output = new FileOutputStream("d:\\file\\file.txt",true);
output.write(("\r\n时间差:"+timeAdded+"\r\n").getBytes());
output.write(("偶数和:"+number+"\r\n").getBytes());
output.write(("字符串:"+strAppend.toString()).getBytes());
output.close();
reader.close();
input.close();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询