为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 PrintStream 类读取和写入文件?

如何使用 PrintStream 类读取和写入文件?

慕容708150 2021-09-15 17:00:07
我只是想从一个文件中读取数据并将其写入另一个文件。但是每次我尝试使用ps.printf("%s", Filename);“ Filname ”打印数据时,它只会打印文件的实际名称而不是其中的数据。例子:输入文件名是visit.txt(由用户输入)输出文件名是report.txt(由用户输入)ps.printf("%s", Filename); 将单词“visit.txt”打印到report.txt而不是打印visit.txt中的数据PrintStream 是从文件中读取数据的错误类吗?import java.io.FileNotFoundException;import java.io.FileReader;import java.io.PrintStream;import java.util.Scanner;public class Veterinary {public static void main(String[] args) throws FileNotFoundException {    String Filename;    String Outputfilename;    Scanner inputScanner = null;    System.out.printf("Enter Your Input File Name: ");    inputScanner = new Scanner(System.in);    Filename = inputScanner.nextLine();    //CREATES FILE READER    inputScanner = new Scanner(new FileReader(Filename));    System.out.printf("\n", Filename);    System.out.printf("Enter Your Output File Name: ");    PrintStream ps = null;    inputScanner = new Scanner(System.in);    Outputfilename = inputScanner.nextLine();    try    {        ps = new PrintStream(Outputfilename);    }    catch (Exception e)    {        System.out.println("ERROR. Could not open file!");    }    ps.printf("%s", Filename);  }}
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

创建文件阅读器后,使用

Scanner inputScannerfile = new Scanner(new FileReader(Filename));

线而不是

inputScanner = new Scanner(new FileReader(Filename));

在最后一行

ps.printf("%s", inputScannerfile.nextLine());

您的代码的问题在于您扫描了输入文件,但没有读取该文件,并且在最后一行中(ps.printf("%s",filename))您将输入文件名传递给了.这就是为什么它为您提供输入文件名的原因。


查看完整回答
反对 回复 2021-09-15
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

注释该行Outputfilename = inputScanner.nextLine(); ,然后ps.printf("%s", Filename);用以下内容替换 该行

while(inputScanner.hasNextLine()){
    ps.println(inputScanner.nextLine());
    }

什么错误,你是doning是你写FilenamePrintStream的是你的文件名中的字符串值不it.since内容你已经打开了扫描仪输入文件,你需要从中读取每一行,并比其添加到输出文件的原流。以及我注释行的原因Outputfilename = inputScanner.nextLine();是因为它会从输入文件中读取第一行,然后转到下一行,但我们不会将其存储到打印流中,因此如果您不注释该行,则输入文件中的第一行将不会写入输出文件。


查看完整回答
反对 回复 2021-09-15
  • 3 回答
  • 0 关注
  • 504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信