java 修改文本数据
比如说文本中有如下数据:id1namesexage20id2namesexage30id3namesexage40我要修改指定id那一行最后一个空格后面的数据比如说我要把...
比如说文本中有如下数据:
id1 name sex age 20
id2 name sex age 30
id3 name sex age 40
我要修改指定id那一行最后一个空格后面的数据
比如说我要把id2那一行最后一个空格后面的数据改成null,那么最后的结果是:
id1 name sex age 20
id2 name sex age null
id3 name sex age 40
代码怎么写 展开
id1 name sex age 20
id2 name sex age 30
id3 name sex age 40
我要修改指定id那一行最后一个空格后面的数据
比如说我要把id2那一行最后一个空格后面的数据改成null,那么最后的结果是:
id1 name sex age 20
id2 name sex age null
id3 name sex age 40
代码怎么写 展开
4个回答
展开全部
/**
*
* @author ajtdnyy
*/
public class NewClass {
public static void main(String[] args) {
String path = "F:\\workspace\\test.txt";
modifyFile(path, "id2");
}
public static void modifyFile(String path, String id) {
BufferedReader reader = null;
FileOutputStream out = null;
try {
File file = new File(path);
reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
out = new FileOutputStream(file);
String outString = "";
while (line != null && !line.isEmpty()) {
if (line.indexOf(id) >= 0) {
String[] strs = line.split(" ");
line = line.replace(strs[4], "null");
}
outString += line + System.getProperty("line.separator");
line = reader.readLine();
}
out.write(outString.getBytes());
} catch (Exception ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
reader.close();
out.flush();
out.close();
} catch (IOException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
展开全部
我觉得规范做法就是像楼上说的把数据封装成对象写入内存,然后修改对象的属性,之后再输出数据变成文本。
代码不复杂,自己写。
代码不复杂,自己写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把所有数据读到内存, 然后再修改 在写回文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把id2这个字符串付给一个变量然后用indexOf方法得到最后一个空格的所有然后再用replace方法替换索引之后的字符串为null即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询