Java IO:使用扫描仪和printWriter复制文本文件的内容并将其放在另一个文本文件中

修道院S

好吧,所以我正在开发一个非常小的程序,旨在将文本文件test.txt的内容放入另一个空文件testCopied.txt中。诀窍在于,我想使用Scanner和printWriter来更好地理解它们。

这是我的代码:

import java.io.*;
import java.util.*;

public class CopyA
{
   public static void main(String [] args)
   {
      String Input_filename = args[0];
      String Output_filename = args[1];
      char r = args[2].charAt(0);

      try
      {
         Scanner sc = new Scanner(new File(Input_filename));
         FileWriter fw = new FileWriter(Output_filename);
         PrintWriter printer = new PrintWriter(fw);

         while(sc.hasNextLine())
         {
            String s = sc.nextLine();
            printer.write(s);
         }
         sc.close();               
      }
      catch(IOException ioe)
      {
         System.out.println(ioe);
      }
   }
}

这样可以编译,但是当我查看testCopied.txt时,它仍然是空白的,并且还没有将test.txt的内容传输给它。我究竟做错了什么?Java IO对我来说很混乱,因此我试图更好地掌握它。任何帮助,我们都感激不尽!

开发商

您错过了flush()和close()PrintWriter所需添加对象

然后System.getProperty("line.separator")在将每一行写入第二个文件时使用行分隔符using

您可以参考以下代码:

PrintWriter printer = null;
Scanner sc = null;
try
  {
     String lineSeparator = System.getProperty("line.separator");

     sc = new Scanner(new File(Input_filename));
     FileWriter fw = new FileWriter(Output_filename);
     printer = new PrintWriter(fw);

     while(sc.hasNextLine())
     {
        String s = sc.nextLine()+lineSeparator; //Add line separator
        printer.write(s);
     }
  }
  catch(IOException ioe)
  {
     System.out.println(ioe);
  } finally {
    if(sc != null) {
       sc.close();  
    }
    if(printer != null) {
      printer.flush();
      printer.close();
     }
 }

另外,请确保始终关闭finally块中的资源(您的代码中错过了Scanner对象的资源)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Java格式化文本文件内容后,如何读取文本文件内容并写入另一个文本文件?

如何从终端读取文本文件并将输出保存到Java中的另一个文件?

在 Java 中将一个文本文件附加到另一个文本文件

如何使用扫描仪从java中的文本文件中读取一列?

如何从文本文件排序并写入另一个文本文件Java

扫描Java中的文本文件

使用Java扫描文本文件

使用扫描仪读取Java中的文本文件

在Java中扫描文本文件时使用对象

Java 扫描仪从我的文本文件中读取 null?

Java:复制文本文件时覆盖一个字符

URL文本文件中的Java单线扫描程序

如果不存在则创建一个文本文件,如果使用Java BufferedWriter则创建一个文本文件

如何复制文本文件的内容并将其粘贴到从某行开始的另一个文件中?

如何使用Java提取文本文件中两个单词之间的内容?

Java从文本文件中替换字符串中的一个单词

如何使用Java从一个文件夹中获取所有文本文件?

如何使用Printwriter将String数组写入Java中的文本文件?

如何从一个文本文件,并存储读取到Java中的数组

在Java中创建一个填充有随机整数的文本文件

Java根据长度从文本文件中分割行并将其放入向量中

如何在Java中屏蔽文本文件的内容

PrintWriter可以写入“打开”文本文件(Java)

如何在Java中读取文本文件的第一行并将其打印出来?

在 Java 中显示文本文件

Java中的文本文件解析

使列表中的文本文件从Java?

在Java中编辑文本文件

在java中读取文本文件