java - 如何将数据读入 char 数组?

标签 java filereader

这是将一个文件的数据复制到第二个文件的代码

      public class Writer 
      {
          public static void main(String args[]) throws IOException
          {
              File f=new File("D:/test.txt");
              FileReader fr=new FileReader(f);
              char cbuff[]=new char[100];
              int c=fr.read(cbuff);
              System.out.println(c);
              c=fr.read(cbuff);
              System.out.println(c);
              fr.close();

              FileWriter fw=new FileWriter("D:/newTest.txt");
              fw.write(cbuff);
              fw.close();
          }   
      }

输出是
67
-1
我的第一个问题是
我想知道 char 数组的大小是 1000 那么为什么 read 方法第二次返回 -1 。

我的第二个问题是 附件。到 [Java 文档] ( http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html#read%28java.nio.CharBuffer%29 )

or -1 if this source of characters is at its end


上面这行是什么意思?

最佳答案

I wanna know that size of char array is 1000 so why does read method returns -1 second time.

因为输入流不再包含要读取的字符。请注意,如果有第二次读取,您将覆盖已经读入数组的内容。

并且您的 javadoc 指向了错误的方法。您使用the read() method taking a char[] as an argument 。一个CharBuffer不是 char[]!

最后(您最近问过有关此类主题的问题,我已经告诉过您),您应该指定用于读取文件和写入文件的编码。

关于java - 如何将数据读入 char 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351536/

相关文章:

java - 针对特定文件的 JUnit 测试限制给出错误输出

java - 尽管超时时间较低,但稳定数量的 HBase 请求几乎正好需要 5000 毫秒才能完成(成功)。不知道为什么

java - 为什么 Scala 在读取我的 CSV 时会崩溃?

java - 查找 .txt 文件的第一个数字 - Java

java - JDBC/WebRowSet : readXml(Reader reader) vs. readXml(InputStream iStream)

java - 从文件中读取 - Java

javascript - CodeMirror - 在页面加载时在编辑器上加载文件

java - 如何调试 Spring NoSuchBeanDefinitionException

java - 使用哪种模式来创建具有不同参数的多个版本的对象?

java - Jackson:如何使@JsonBackReference和自定义反序列化器同时工作?