Java 将文本加载到单个字符串中

Java 将文本加载到单个字符串中,java,string,Java,String,可能重复: 我遇到了将整个文件(即.html文件)加载到单个字符串的问题 我正在尝试打印介于和之间的内容。然而;当我运行代码时,它无法将任何内容写入输入文件。我认为问题在于我的第一行中没有或标记,这意味着indexOf()方法将返回-1,因此整个问题无法解决。有人告诉我应该把包含很多行的整个.html加载到一个字符串中,我相信他的意思是只加载一行。我不知道怎么做 这是我的密码: PrintWriter pr; try{ c = new Scanner(f); pr = new PrintW

可能重复:

我遇到了将整个文件(即.html文件)加载到单个字符串的问题

我正在尝试打印介于
之间的内容。然而;当我运行代码时,它无法将任何内容写入输入文件。我认为问题在于我的第一行中没有
标记,这意味着indexOf()方法将返回-1,因此整个问题无法解决。有人告诉我应该把包含很多行的整个.html加载到一个字符串中,我相信他的意思是只加载一行。我不知道怎么做

这是我的密码:

PrintWriter pr;
try{
  c = new Scanner(f);
pr = new PrintWriter(new FileOutputStream(o));
while (c.hasNextLine()){
  String text = c.nextLine();
    String index = "<body>";
    String index2 = "</body>";
    int i1 = text.indexOf(index);
    int i2 = text.indexOf(index2);
    text = text.substring(i1+6,i2);
    System.out.println("here it is");
    pr.println(text);
    System.out.println("you did !!!");
    pr.flush();}
}catch(Exception e){}
PrintWriter-pr;
试一试{
c=新扫描仪(f);
pr=新的PrintWriter(新的FileOutputStream(o));
while(c.hasNextLine()){
字符串text=c.nextLine();
字符串索引=”;
字符串index2=“”;
int i1=text.indexOf(索引);
int i2=text.indexOf(index2);
text=text.substring(i1+6,i2);
System.out.println(“在这里”);
pr.println(文本);
System.out.println(“你做到了!!!”;
pr.flush();}
}捕获(例外e){}

}好的。下面是一个小示例,可以帮助您开始

这将适用于一个简单的HTML页面。
但是对于复杂的页面(带有嵌入式CSS等),您必须考虑如何找到正文的开头/结尾

FileInputStream fin = new FileInputStream("theFile.html");     
byte[] data = new byte[fin.available()];    
fin.read(data);  
String htmlFile = new String(data);  
int start = htmlFile.indexOf("<body>");  
if(start != -1){   
  int end = html.indexOf("</body");  
  if(end != -1){  

     System.out.println("Body is: html.substring(start + 6, end));  
   }  
 }
FileInputStream fin=newfileinputstream(“theFile.html”);
字节[]数据=新字节[fin.available()];
财务读取(数据);
字符串htmlFile=新字符串(数据);
int start=htmlFile.indexOf(“”);
如果(开始!=-1){

int end=html.indexOf(“谢谢。但实际上我不知道如何使用Buffer())方法..您不能剪切并粘贴代码,然后查看它是否会得到字符串?这些解决方案中有许多未知的方法和类。。sorry@leohu:那么我建议您了解它们…uhu…使用缓冲区方法来读写内容是否比使用PrinteWriter和FileoutputStream更好???