Java 如何检查文本文件中是否包含某个单词?
我正在尝试检查这些单词的每一次出现-计算、执行、I/O、产量和输出。我读入一个文件并将数据存储在一个名为process的对象中。所有数据都已正确存储在对象中。方法prep查找这些单词的每一次出现。唯一的问题是所有的问题 除了I/O之外,单词是有效的,第一次出现的单词永远不会出现 代码-Java 如何检查文本文件中是否包含某个单词?,java,file,text,Java,File,Text,我正在尝试检查这些单词的每一次出现-计算、执行、I/O、产量和输出。我读入一个文件并将数据存储在一个名为process的对象中。所有数据都已正确存储在对象中。方法prep查找这些单词的每一次出现。唯一的问题是所有的问题 除了I/O之外,单词是有效的,第一次出现的单词永远不会出现 代码- public void contentArray(Process x) { for(int i=0; i<x.getListInfo().size(); i++) {
public void contentArray(Process x)
{
for(int i=0; i<x.getListInfo().size(); i++)
{
System.out.println(x.getindex(i));
}
}
public void prep(Process x)
{
System.out.println("******************");
String xo ="oo";
while(xo!="EXE")
{
for(int i=0; i<x.getListInfo().size(); i++)
{
String processor = x.getindex(i);
if(processor.equals("I/O"))
{
System.out.println("I/O " + i );
xo="I/O";
}
else if(processor.equals("CALCULATE"))
{
System.out.println("Calculate "+ i);
xo="CALCULATE";
}
else if(processor.equals("YIELD"))
{
System.out.println("YIELD " + i);
xo="YIELD";
}
else if (processor.equals("OUT"))
{
System.out.println("Out " + i);
xo="OUT";
}
else if (processor.equals("EXE"))
{
System.out.println("EXE " + i);
xo="EXE";
}
}
}
}
import java.io.*;
import java.util.*;
public class FileReader {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
int fileNum = 0;
String filename;
int runtime = 0;
int memory = 0;
int counter = 0;
String name = "";
int filecounter = 0;
String x = "";
ArrayList<Process> allfiles = new ArrayList<Process>();
System.out.println("How many files do you have");
x = in.nextLine();
while (filecounter < Integer.parseInt(x)) // number of files
{
System.out.println("enter file name");
filename = in.nextLine();
filecounter++;
File file = new File("C:\\Users\\documents\\git\\" + filename);
Scanner s = new Scanner(file);
//Scanner s = new Scanner(new File(filename));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext()) {// takes in all file values
list.add(s.next());
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("Name:")) {
name = list.get(i + 1);
System.out.println(name);
//list.remove(i);// removes name
//list.remove(i+1);// removes file name
}
if (list.get(i).equals("runtime:")) {
runtime = Integer.parseInt(list.get(i + 1));
System.out.println(runtime);
//list.remove(i); //removes runtime
//list.remove(i+1); //removes runtime value
}
if (list.get(i).equals("Memory:")) {
memory = Integer.parseInt(list.get(i + 1));
System.out.println(memory);
//list.remove(i);//removes memory
//list.remove(i+1); //removes memory value
}
}
counter++;//pid starts from 1 and goes up
Process p = new Process(name, counter, runtime, memory, ProcessState.New, list);
allfiles.add(p);
s.close();
}
Scheduler schedulerQ = new Scheduler();
schedulerQ.contentArray(allfiles.get(0));
schedulerQ.prep(allfiles.get(0));
}
}
public void contentArray(进程x)
{
对于(int i=0;i输入文件在第一次出现时似乎有i/0,而不是i/O。您可以再次检查输入文件吗?您是否在期望处理器对象为“i/O”时进行了步骤调试并检查了它的实际值?是,并且处理器正在获取I/O,但它不执行if语句。如果有任何帮助,则只会遇到I/O问题