Java如何读取和删除文件的内容。

Java如何读取和删除文件的内容。,java,Java,我有一个大约700个项目的列表,在添加到我的网页之前我需要编辑它们。 我尝试手动编辑每个项目,但它变得太广泛,我想我可能会使用Java来读取和编辑文件,因为需要编辑的单词在每个项目中都有相同的开头和结尾 我想我会先循环Q中的单词,保存它,当我的逻辑工作时,我会找到如何读取文本文件,然后再做同样的事情。(如果有其他方法,我愿意听取建议) 这里是我到目前为止编写的代码,这是很久以前我用Java编写的代码,所以我现在基本上没有技能 import javax.swing.JOptionPane; pu

我有一个大约700个项目的列表,在添加到我的网页之前我需要编辑它们。 我尝试手动编辑每个项目,但它变得太广泛,我想我可能会使用Java来读取和编辑文件,因为需要编辑的单词在每个项目中都有相同的开头和结尾

我想我会先循环Q中的单词,保存它,当我的逻辑工作时,我会找到如何读取文本文件,然后再做同样的事情。(如果有其他方法,我愿意听取建议) 这里是我到目前为止编写的代码,这是很久以前我用Java编写的代码,所以我现在基本上没有技能

import javax.swing.JOptionPane;

public class CustomizedList
{

public static void main (String[] args)
{
    String Ord = JOptionPane.showInputDialog("Enter a word");
    String resultatOrd ="";

    for(int i = 0; i < Ord.length(); i++)
    {
        if(Ord.charAt(i) == 'y' && Ord.charAt(i) == 'e' && Ord.charAt(i) ==    

's')
        {
            resultatOrd += Ord.charAt(i);
            System.out.println(resultatOrd);
        }   

        else
        System.out.println("Wrong word.");
    }
}
}
import javax.swing.JOptionPane;
公共类自定义列表
{
公共静态void main(字符串[]args)
{
String Ord=JOptionPane.showInputDialog(“输入单词”);
字符串resultatOrd=“”;
对于(int i=0;i
我不确定我做错了什么,但我输入的单词在逻辑上不起作用。
我想从这个文本文件中删除两个字:是和否,大写和小写

您的代码不能正确:

if(Ord.charAt(i) == 'y' && Ord.charAt(i) == 'e' && Ord.charAt(i) ==  's')
是否总是

解决方案:

Ord.toLower().contains("yes")
或者(更糟,但在您的情况下仍然正确):

如果您只是在寻找相等,可以使用
equals()


)您的代码不能正确:

if(Ord.charAt(i) == 'y' && Ord.charAt(i) == 'e' && Ord.charAt(i) ==  's')
是否总是

解决方案:

Ord.toLower().contains("yes")
或者(更糟,但在您的情况下仍然正确):

如果您只是在寻找相等,可以使用
equals()


)

您的
如果测试:

if(Ord.charAt(i) == 'y' && Ord.charAt(i) == 'e' && Ord.charAt(i) == 's')
永远不会是真的。您指定同一个字符必须是三个不同的东西

在这个方法中寻找一个更好的测试你想要的单词的方法

例如:

if (word.equalsIgnoreCase("yes") || word.equalsIgnoreCase("no"))
    // do something with word

您的
if
测试:

if(Ord.charAt(i) == 'y' && Ord.charAt(i) == 'e' && Ord.charAt(i) == 's')
永远不会是真的。您指定同一个字符必须是三个不同的东西

在这个方法中寻找一个更好的测试你想要的单词的方法

例如:

if (word.equalsIgnoreCase("yes") || word.equalsIgnoreCase("no"))
    // do something with word

希望这能有所帮助,我试着对每一部分进行评论,让您了解每一行的作用。 只有当“是”和“否”在各自的行上时,它才起作用

这里是关于I/O的Java教程链接。我建议您有时间阅读它,有很多好的信息

import java.io.*;
导入java.util.ArrayList;
公开课考试{
公共静态void main(字符串[]args)引发异常{
//要读取的文件名
File File=新文件(“filename.txt”);
//BufferedReader允许您一次读取一行文件
BufferedReader in=新的BufferedReader(新文件读取器(文件));
//用于存储文件中每一行的临时数组
ArrayList fileLines=新的ArrayList();
//迭代文件中的每一行,并添加到fileLines ArrayList
字符串temp=null;
而((temp=in.readLine())!=null){
文件行。添加(临时);
}
//关闭文件阅读器
in.close();
//再次打开文件进行写入(删除原始文件)
BufferedWriter out=新的BufferedWriter(新的文件写入程序(文件));
//迭代文件行,将每个条目存储在名为“line”的字符串中
//如果行等于“是”或“否”,则不执行任何操作。
//否则,将该行写入文件
用于(字符串行:文件行){
if(line.equalsIgnoreCase(“是”)| | line.equalsIgnoreCase(“否”)){
continue;//跳到文件行中的下一项
}
//如果未跳过该行,则写入该行
写出(行);
out.write(System.getProperty(“line.separator”);//换行符
}
//保存新文件
out.close();
}
}

希望这能有所帮助,我试着对每一部分进行注释,让您了解每一行的作用。 只有当“是”和“否”在各自的行上时,它才起作用

这里是关于I/O的Java教程链接。我建议您有时间阅读它,有很多好的信息

import java.io.*;
导入java.util.ArrayList;
公开课考试{
公共静态void main(字符串[]args)引发异常{
//要读取的文件名
File File=新文件(“filename.txt”);
//BufferedReader允许您一次读取一行文件
BufferedReader in=新的BufferedReader(新文件读取器(文件));
//用于存储文件中每一行的临时数组
ArrayList fileLines=新的ArrayList();
//迭代文件中的每一行,并添加到fileLines ArrayList
字符串temp=null;
而((temp=in.readLine())!=null){
文件行。添加(临时);
}
//关闭文件阅读器
in.close();
//再次打开文件进行写入(删除原始文件)
BufferedWriter out=新的BufferedWriter(新的文件写入程序(文件));
//迭代文件行,将每个条目存储在名为“line”的字符串中
//如果行等于“是”或“否”,则不执行任何操作。
//否则,将该行写入文件
用于(字符串行:文件行){
if(line.equalsIgnoreCase(“是”)| | line.equalsIgnoreCase(“否”)){
continue;//跳到文件行中的下一项
}
//如果未跳过该行,则写入该行
写出(行);
out.write(System.getProperty(“line.separator”);//换行符
}
//保存新文件
out.close();
}
}

应该是怎样的?请不要更改我的代码:您是在寻找eqal字符串,还是在搜索子字符串?应该是怎样的?请不要更改我的代码:您是在寻找eqal字符串,还是在搜索子字符串?换句话说,我每次都用一个新字符覆盖Ord?根本不覆盖,只是在同一个位置测试3个不同的c