Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当第一个空格出现时如何读取文件_Java_Readfile - Fatal编程技术网

Java 当第一个空格出现时如何读取文件

Java 当第一个空格出现时如何读取文件,java,readfile,Java,Readfile,我有一个文件,其内容如下: 测试此程序 这是第二行 “这是空白行”(空行)< BR> 这是需要读取和存储的第一行 这是需要读取和存储的第二行 P>只要找到空行,我就需要在检测到空行后开始存储数据。 我使用bufferreader和while循环逐行读取 任何帮助都将不胜感激 谢谢 FileReader inputFile = new FileReader(httpPost); BufferedReader bufferReader = new Buff

我有一个文件,其内容如下:

测试此程序
这是第二行
“这是空白行”(空行)< BR>

这是需要读取和存储的第一行
这是需要读取和存储的第二行

<> P>只要找到空行,我就需要在检测到空行后开始存储数据。 我使用bufferreader和while循环逐行读取

任何帮助都将不胜感激

谢谢

            FileReader inputFile = new FileReader(httpPost);
        BufferedReader bufferReader = new BufferedReader(inputFile);

        while ((line = bufferReader.readLine()) != null) 
        {
                if(line.trim().equals(""))
                {
                    //Read file after blank line is detected
                    modifieddata = modifieddata + "\n" + line;
                }
        }       

我不确定我是否完全理解您试图实现的目标,但您可能正试图做到这一点:

 while ((line = bufferReader.readLine()) != null) 
 {  
      bufferdata+=  System.getProperty("line.separator") + line; 
      if(startSaving)
      {
           modifieddata += System.getProperty("line.separator") + line;
      }
      else  
      {
          originaldata += System.getProperty("line.separator") + line;
      }

      if(line.isEmpty())
      {
           startSaving = true; 
      }
  }

  if(modifieddata.isEmpty())
  {
      modifieddata = originaldata.trim();
  }
  else
  {
      modifieddata = modifieddata.trim();
  }

  String[] array = new String[]{modifieddata, originaldata};

  //Close the buffer reader
  bufferReader.close();

  // return array;

发布您尝试过的代码,以便我们可以从那里帮助您。我已经在帖子中添加了我的代码是的,这是我一直在寻找的,但一旦这个问题得到解决,我还有另外两个问题。问题01:当我读取每行并存储在Modifieddata中时,如何在每行之后添加不依赖于操作系统的新行字符?问题02:如何读取Modifieddata的第一行?对于第一个问题,您可以使用
System.getProperty(“line.separator”)
,因为它独立于操作系统。至于第二个问题,您可以将子字符串从开头提取到遇到的第一个换行符:
System.out.println(words.substring(0,words.indexOf(System.getProperty(“line.separator”)))我将编辑我的答案以达到这个效果。谢谢你,它成功了。我只是想知道,是否可以从字符串中删除第一个空格?我是Java新手,所以对它不太了解。再次感谢您抽出时间。不客气<代码>单词.trim()
应该可以处理这个问题。对不起,我问错了问题。我的问题是,一旦它找到一个空行,它就开始将它存储在modifieddata中,并将空行存储在字符串modifieddata中……因此我将获得两个新行字符,然后是数据……那么如何从字符串的开头删除这两个新行字符呢?