0

このようなことをするのを手伝ってください。たとえば、次のようなテキストファイルtest.txtがあるとします。

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

テキストの最初の行、およびで囲まれた2番目のリンク<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);
}

ファイル自体の1行目と、ファイルの2行目を別々に表示したい

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>");
4

2 に答える 2

1

ファイルのを作成しBufferedReaderます。

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

このメソッドを使用してreadLine、1行(最初の行)を読み取ります。

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>");

お役に立てれば。

于 2012-11-16T13:25:05.007 に答える
1

のメソッドを使用するプログラムタイプとしてInputStreamReaderから離れ、代わりにScannerまたはBufferedReaderのいずれかを使用することをお勧めします...これらのそれぞれには、一度に1行で読み取るためのメソッドがあります。

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

また

BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine();
于 2012-11-16T13:30:50.817 に答える