2012-11-16 78 views
0

请帮我做这样的事情,让我们说我们有一个文本文件,的test.txt,大约与此类似:从文件读取?

hello hello hello 
<link1>http://stackoverflow.com<link1> 

文本的第一行,并封闭在第二个链接<link1>。我打印文件的内容如下:

if(myName.equals(name)){ 

         InputStreamReader reader = null; 
         try{ 


          File file = new File("C:\\Users\\ваня\\Desktop\\asksearch\\" + list[i]); 

          reader = new InputStreamReader(new FileInputStream(file), "UTF-8"); 

          int b; 

          PrintWriter wr = response.getWriter(); 
          wr.print("<html>"); 
          wr.print("<head>"); 
          wr.print("<title>HelloWorld</title>"); 
          wr.print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"); 
          wr.print("<body>"); 
          wr.write("<div>"); 
          while((b = reader.read()) != -1) { 
           wr.write((char) b); 
          } 
          wr.write("</div>"); 
          wr.write("<hr>"); 
          wr.print("</body>"); 
          wr.print("</html>"); 
          wr.close(); 


         } 

只是一段代码:

while((b = reader.read()) != -1) { 
    writer.write((char) b); 
} 

要显示,文件本身的第一行,并在第二行文件分开

PrintWriter writer = response.getWriter(); 
writer.print("<html>"); 
writer.print("<head>"); 
writer.print("<title>HelloWorld</title>"); 
writer.print("<body>"); 
writer.write("<div>"); 
// then the first line 
writer.write("</div>"); 
writer.write("<div>"); 
// then the second line 
writer.write("</div>"); 
writer.print("</body>"); 
writer.print("</html>"); 
+1

这就是所谓的“编程”你存储线字符串,另一个在另一个字符串。为了分隔行,最好使用'BufferedReader',它提供'readLine'方法。 – SJuan76

+0

你能展示一段代码吗 –

+0

是的你是对的我需要分开第一和第二行 –

回答

1

为您的文件BufferedReader

File file = new File("test.txt"); 
BufferedReader br = new BufferedReader(new InputStreamReader(
         new FileInputStream(file), "UTF8")); 

使用readLine方法来读取一行(第一行):

PrintWriter writer = response.getWriter(); 
writer.print("<html>"); 
writer.print("<head>"); 
writer.print("<title>HelloWorld</title>"); 
writer.print("<body>"); 
writer.write("<div>"); 
// here to display the text 
writer.write(br.readLine());//this will read the first line 
writer.write("</div>"); 

//And for the second line 

writer.write("<div>"); 
// here to display the text 
writer.write(br.readLine());//this will read the next line i.e. second line 
writer.write("</div>"); 
writer.print("</body>"); 
writer.print("</html>"); 

希望这有助于。

+0

谢谢,但那里我编码UTF_8,并且你没有它在这里 –

+0

reader = new InputStreamReader(new FileInputStream(file),** UTF-8 **); –

+0

@EricScot看到我编辑的代码为UTF-8文件 – Abubakkar

1

我建议您将InputStreamReader作为一种编程类型使用,您可以使用Scanner或BufferedReader,而不是使用Scanner或BufferedReader ...每种方法都有一次读取一行的方法:

Scanner in = new Scanner(file); 
String line = in.nextLine(); 

BufferedReader in = new BufferedReader(new FileReader(file)); 
String line = in.readLine();