使用Java修改文件的内容 [英] Modify the content of a file using Java

查看:194
本文介绍了使用Java修改文件的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用下面的方法删除一些文件的内容。这是写入方法替换在同一个文件或它应该被复制到另一个文件。

但是它删除了文件的所有内容。

  class FileReplace 
{
ArrayList< String> lines = new ArrayList< String>();
String line = null;
public void doIt()
{
try
{
文件f1 =新建文件(d:/ new folder / t1.htm);
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr);
while(line = br.readLine()!= null)
{
if(line.contains(java))
line = line.replace(java ,);
lines.add(line);
}
FileWriter fw = new FileWriter(f1);
BufferedWriter out = new BufferedWriter(fw);
out.write(lines.toString());

catch(Exception ex)

ex.printStackTrace();

$ b $公共statc无效的主要(字符串参数[])
{
FileReplace fr = new FileReplace();
fr.doIt();



$ div $解析方案

会开始关闭阅读器,并刷新作家:

  public class FileReplace {
List< String> lines = new ArrayList< String>();
String line = null;
$ b public void doIt(){
try {
File f1 = new File(d:/ new folder / t1.htm);
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr); $()
while((line = br.readLine())!= null){
if(line.contains(java))
line = line.replace(java, );
lines.add(line);
}
fr.close();
br.close();

FileWriter fw = new FileWriter(f1);
BufferedWriter out = new BufferedWriter(fw);
for(String s:lines)
out.write(s);
out.flush();
out.close();
catch(Exception ex){
ex.printStackTrace();



public static void main(String args []){
FileReplace fr = new FileReplace();
fr.doIt();
}
}


I want to delete some content of file using java program as below. Is this the write method to replace in the same file or it should be copied to the another file.

But its deleting the all content of the file.

class FileReplace
{
    ArrayList<String> lines = new ArrayList<String>();
    String line = null;
    public void  doIt()
    {
        try
        {
            File f1 = new File("d:/new folder/t1.htm");
            FileReader fr = new FileReader(f1);
            BufferedReader br = new BufferedReader(fr);
            while (line = br.readLine() != null)
            {
                if (line.contains("java"))
                    line = line.replace("java", " ");
                lines.add(line);
            }
            FileWriter fw = new FileWriter(f1);
            BufferedWriter out = new BufferedWriter(fw);
            out.write(lines.toString());
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }
    public statc void main(String args[])
    {
        FileReplace fr = new FileReplace();
        fr.doIt();
    }
}

解决方案

I would start with closing reader, and flushing writer:

public class FileReplace {
    List<String> lines = new ArrayList<String>();
    String line = null;

    public void  doIt() {
        try {
            File f1 = new File("d:/new folder/t1.htm");
            FileReader fr = new FileReader(f1);
            BufferedReader br = new BufferedReader(fr);
            while ((line = br.readLine()) != null) {
                if (line.contains("java"))
                    line = line.replace("java", " ");
                lines.add(line);
            }
            fr.close();
            br.close();

            FileWriter fw = new FileWriter(f1);
            BufferedWriter out = new BufferedWriter(fw);
            for(String s : lines)
                 out.write(s);
            out.flush();
            out.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public static void main(String args[]) {
        FileReplace fr = new FileReplace();
        fr.doIt();
    }
}

这篇关于使用Java修改文件的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆