字符串读取器、字符串写入器·学习笔记
“嗨阿米戈”“嗨艾莉”“今天我想给大家介绍一下StringReader和StringWriter类。原则上对你来说不会有太多新的东西但有时这些类非常有用。但是至少我想让你知道他们存在。”“这些类是抽象 Reader 和 Writer 类的最简单实现。它们基本上类似于 FileReader 和 FileWriter。但是与它们不同的是它们不处理磁盘上文件中的数据。相反它们处理 String在 JVM 的内存中。”“为什么我们需要这样的课程”“有时需要它们。本质上StringReader是String和Reader类之间的适配器。而StringWriter是继承Writer的 String 。是的......我可以说这不是最好的解释。最好看一对首先是例子。”“例如假设您想测试您的方法该方法从传递给它的 Reader 对象中读取数据。我们可以这样做”从 Reader 对象读取public staticvoidmain(String[] args) throwsException{ String test Hi!\n My name is Richard\n Im a photographer\n; // This line is key: we convert the String into a Reader. StringReader reader newStringReader(test); executor(reader); } public static void executor(Reader reader) throwsException{ BufferedReader br new BufferedReader(reader); String line;while(line br.readLine() ! null) {System.out.println(line); } }“换句话说我们只是简单地获取了一个字符串将它包装在一个 StringReader 中然后传递它而不是一个 Reader 对象所有的东西都会像我们需要的那样从中读取”“是的。嗯。这有一点。现在让我们测试 StringWriter 的方法。为此我们将使示例更复杂。现在它不会简单地读取行并将它们显示在屏幕上而是它将反转它们并将它们输出到 writer 对象。例如“从 reader 对象读取并写入 writer 对象public static void main (String[] args) throws Exception{ // The Reader must read this String. String test Hi!\n My name is Richard\n Im a photographer\n; // Wrap the String in a StringReader. StringReader reader new StringReader(test); // Create a StringWriter object. StringWriter writer new StringWriter(); // Copy strings from the Reader to the Writer, after first reversing them. executor(reader, writer); // Get the text that was written to the Writer.Stringresult writer.toString(); // Display the text from the Writer on the screen.System.out.println(Result: result); }public static voidexecutor(Reader reader, Writer writer)throws Exception{ BufferedReader br newBufferedReader(reader);String line; // Read a string from the Reader.while(line br.readLine()) ! null) { // Reverse the string. StringBuilder sb new StringBuilder(line); StringnewLine sb.reverse().toString(); // Write the string to the Writer. writer.write(newLine); } }“我们创建了一个StringWriter对象其中包含一个字符串该字符串存储写入此writer 的所有内容。要获取它您只需调用toString() 方法。”“嗯。不知怎的这一切似乎太简单了。执行器方法与读取器和写入器流对象一起使用但我们在 main 方法中使用字符串。“真的那么简单吗”“是的。要将 String 转换为Reader只需这样写”从字符串创建阅读器String s data; Reader reader new StringReader(s);“将 StringWriter 转换为 String 甚至更容易”从 Writer 获取字符串Writerwriter new StringWriter(); /* Here we write a bunch of data to the writer */ String result writer.toString();“在我看来这些都是很棒的课程。谢谢你告诉我这些艾莉。”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446318.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!