如何在java中查找字符串中的EOF?

如何在java中查找字符串中的EOF?,java,string,eof,Java,String,Eof,我在学校项目部工作。他们告诉我的是,我将得到一个字符串,其中包含一个实际的程序,如 导入java.io.*\n公共类A{\n……….EOF 我的工作是在字符串(程序)中找到特定的正则表达式 现在我的问题是 void myFunc(String s) { while(s.charAt(i) != EOF) /*needed replacement for EOF*/ { // Actual Code } } 在上面的代码中,如何查找字符串中是否达到EOF?字符串中没有EOF字符。您只需要

我在学校项目部工作。他们告诉我的是,我将得到一个字符串,其中包含一个实际的程序,如

导入java.io.*\n公共类A{\n……….EOF

我的工作是在字符串(程序)中找到特定的正则表达式

现在我的问题是

void myFunc(String s)
{
 while(s.charAt(i) != EOF) /*needed replacement for EOF*/
 {
 // Actual Code
 }
}

在上面的代码中,如何查找字符串中是否达到EOF?

字符串中没有EOF字符。您只需要:

for(int i=0;i
您不太可能需要它-您可能只需要一直读到字符串的末尾,因为它是文件内容的表示,所以您的老师将其称为EOF

然而

有一个名为EOF的字符。它也称为control-Z,因为这是您键入它的方式。如果要将其包含在字符串中,则必须将其键入“\u001a”,如中所示:


如果你真的需要这个,你的老师可能比我大,我也可能大到可以做你的祖父;-)

BufferedReader rd=new BufferedReader(new InputStreamReader(new FileInputStream(“Input.txt”),“UTF-8”)


真的会有“EOF”这个角色吗?@DaveNewton我想是的。因为如果不是EOF,那么它们怎么能表示文件/程序的结尾。再见,没有任何字符串。哈哈。这就像试图找到网格方块、Bruce Light电池或频率油脂。祝你好运!这不完全是你想要的,但我认为你可以通过直接操作字符串对象来实现你想要的她并没有找到EOF字符。是的。我也只是对此感到困惑。那么在这种情况下我该怎么做呢?哈!我想了很多。但不是这样。我尝试了这个。其中可能有一些EOF字符:@Ray Tayek为什么java会担心C标准库的实现细节?C标准甚至没有指定哪个Ch值EOF必须有..@Voo java不会。但您可能必须读取一个包含控件z的文件。我不知道您谈论的是哪个系统,但在GNU上,它是Ctrl-D。@AnonBird大多数DEC系统、CP/M、MS-DOS和Windows使用的控件z。请参阅“EOF”,我没有怀疑你的答案,如果看起来像的话,我很抱歉,但这只是gnu用户对你答案的更新。这实际上只限于空格,
=
,等等。它们的计算结果都是
-1
for (int i = 0; i < s.length(); i++){
    char c = s.charAt(i);        
    //Process char
}
String iHaveAnEof = "file ends here\u001a";
  char ch;
  int r;
  while(true)
  {
    r=rd.read();    //Reading a character in integer format
    if(r==-1)   //Checking for the End of File
      break;
    else
    {
      ch=(char)r;   //Converting to char format
  System.out.println(ch);
    }
  }