📄 bufferedinputstreamtest.java
字号:
/*************************************************************************/* BufferedInputStreamTest.java -- Tests BufferedInputStream's/*/* Copyright (c) 1998 Free Software Foundation, Inc./* Written by Aaron M. Renn (arenn@urbanophile.com)/*/* This program is free software; you can redistribute it and/or modify/* it under the terms of the GNU General Public License as published /* by the Free Software Foundation, either version 2 of the License, or/* (at your option) any later version./*/* This program is distributed in the hope that it will be useful, but/* WITHOUT ANY WARRANTY; without even the implied warranty of/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the/* GNU General Public License for more details./*/* You should have received a copy of the GNU General Public License/* along with this program; if not, write to the Free Software Foundation/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA/*************************************************************************/import java.io.*;public class BufferedInputStreamTest extends BufferedInputStream{publicBufferedInputStreamTest(InputStream in, int size){ super(in, size);}public static intmarktest(InputStream ins) throws IOException{ BufferedInputStream bis = new BufferedInputStream(ins, 15); int bytes_read; int total_read = 0; byte[] buf = new byte[12]; bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bis.mark(75); bis.read(); bis.read(buf); bis.read(buf); bis.read(buf); bis.reset(); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bis.mark(555); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bis.reset(); bis.read(buf); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); bis.mark(14); bis.read(buf); bis.reset(); bytes_read = bis.read(buf); total_read += bytes_read; System.out.print(new String(buf, 0, bytes_read)); while ((bytes_read = bis.read(buf)) != -1) { System.out.print(new String(buf, 0, bytes_read)); total_read += bytes_read; } return(total_read);}public static voidmain(String[] argv){ System.out.println("Started test of BufferedInputStream"); try { System.out.println("Test 1: Protected Variables Test"); String str = "This is a test line of text for this pass"; StringBufferInputStream sbis = new StringBufferInputStream(str); BufferedInputStreamTest bist = new BufferedInputStreamTest(sbis, 12); bist.read(); bist.mark(5); boolean passed = true; if (bist.buf.length != 12) { passed = false; System.out.println("buf.length is wrong. Expected 12, but got " + bist.buf.length); } if (bist.count != 12) { passed = false; System.out.println("count is wrong. Expected 12, but got " + bist.count); } if (bist.marklimit != 5) { passed = false; System.out.println("marklimit is wrong. Expected 5, but got " + bist.marklimit); } if (bist.markpos != 1) { passed = false; System.out.println("markpos is wrong. Expected 5, but got " + bist.markpos); } if (bist.pos != 1) { passed = false; System.out.println("pos is wrong. Expected 1, but got " + bist.pos); } if (passed) System.out.println("PASSED: Protected Variables Test"); else System.out.println("FAILED: Protected Variables Test"); } catch(IOException e) { System.out.println("FAILED: Protected Variables Test: " + e); } try { System.out.println("Test 2: Simple Read Test"); String str = "One of my 8th grade teachers was Mr. Russell.\n" + "He used to start each year off by telling the class that the\n" + "earth was flat. He did it to teach people to question\n" + "things they are told. But everybody knew that he did it\n" + "so it lost its effect.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); BufferedInputStream bis = new BufferedInputStream(sbis, 15); byte[] buf = new byte[12]; int bytes_read; while((bytes_read = bis.read(buf)) != -1) System.out.print(new String(buf, 0, bytes_read)); bis.close(); System.out.println("PASSED: Simple Read Test"); } catch (IOException e) { System.out.println("FAILED: Simple Read Test: " + e); } try { System.out.println("Test 3: First mark/reset Test"); String str = "My 6th grade teacher was named Mrs. Hostetler.\n" + "She had a whole list of rules that you were supposed to follow\n" + "in class and if you broke a rule she would make you write the\n" + "rules out several times. The number varied depending on what\n" + "rule you broke. Since I knew I would get in trouble, I would\n" + "just go ahead and write out a few sets on the long school bus\n" + "ride home so that if had to stay in during recess and write\n" + "rules, five minutes later I could just tell the teacher I was\n" + "done so I could go outside and play kickball.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); int total_read = marktest(sbis); if (total_read == str.length()) System.out.println("PASSED: First mark/reset Test"); else System.out.println("FAILED: First mark/reset Test"); } catch (IOException e) { System.out.println("FAILED: First mark/reset Test: " + e); } try { System.out.println("Test 4: Second mark/reset Test"); String str = "My first day of college was fun. A bunch of us\n" + "got pretty drunk, then this guy named Rick Flake (I'm not\n" + "making that name up) took a piss in the bed of a Physical\n" + "Plant dept pickup truck. Later on we were walking across\n" + "campus, saw a cop, and took off running for no reason.\n" + "When we got back to the dorm we found an even drunker guy\n" + "passed out in a shopping cart outside.\n"; ByteArrayInputStream sbis = new ByteArrayInputStream(str.getBytes()); int total_read = marktest(sbis); if (total_read == str.length()) System.out.println("PASSED: Second mark/reset Test"); else System.out.println("FAILED: Second mark/reset Test"); } catch (IOException e) { System.out.println("FAILED: Second mark/reset Test: " + e); } System.out.println("Finished test of BufferedInputStream");} // main} // class BufferedInputStreamTest
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -