Java Printwriter输出(即txt)没有任何内容,为什么?

Java Printwriter输出(即txt)没有任何内容,为什么?,java,Java,我有一个输入txt文件,主要包含如下字符串: 获得:马克·约瑟夫·玛丽亚,1997年,BB 注册:卢卡奇·凯托,1989年 布景:Lkoaj门托,2000“ (数字不在txt中)(因此基本上“GET”后面有3个字符串(+“,”),其他的只有2)+有些数据不应该写入我的output.txt(这就是为什么我把它放在try块中) 您可以看到这些方法(insertCustomer、取款现金、存款现金)执行“write to the output.txt”操作,但我认为问题就在这里(我测试了这些方法,认为

我有一个输入txt文件,主要包含如下字符串:

  • 获得:马克·约瑟夫·玛丽亚,1997年,BB
  • 注册:卢卡奇·凯托,1989年
  • 布景:Lkoaj门托,2000“
  • (数字不在txt中)(因此基本上“GET”后面有3个字符串(+“,”),其他的只有2)+有些数据不应该写入我的output.txt(这就是为什么我把它放在try块中)

    您可以看到这些方法(insertCustomer、取款现金、存款现金)执行“write to the output.txt”操作,但我认为问题就在这里(我测试了这些方法,认为它们很好)。
    有人能看出我错在哪里吗?我是Java的noob,如果有明显的错误,我很抱歉,但这是我的家庭作业,希望你们能帮助我。

    确保你的PrintWriter已刷新并关闭。有时程序在将更改发送到文件之前就结束了

    您的代码似乎没有任何错误,但我建议进行一些改进:

    替换:

    String[] line = new String[2];
    line = s.split(":");
    
    与:

    因为split将返回一个新字符串[],所以对新字符串[2]的调用将被浪费


    我还认为您不希望忽略错误后的行。因此,您不应该调用catch子句或默认子句上的
    input.nextLine();

    确保您的PrintWriter已刷新并关闭。有时程序在将更改发送到文件之前就结束了

    您的代码似乎没有任何错误,但我建议进行一些改进:

    替换:

    String[] line = new String[2];
    line = s.split(":");
    
    与:

    因为split将返回一个新字符串[],所以对新字符串[2]的调用将被浪费


    我还认为您不希望忽略错误后的行,因此不应该调用
    input.nextLine();
    在catch子句或默认子句上。

    您是否收到任何运行时或编译错误?可能catch块中出现异常-尝试在那里添加日志。还有,为什么要在default and catch中执行附加的
    nextLine
    ?这会使它在第一个无条件
    nextLine之后跳过另一行
    call。顺便说一下,您在
    case
    语句中有“PUT”,但在您的示例中是“SET”。您希望在“case”reg中adatok size=3“'但是由于您的输入示例,它应该等于2请显示更多代码,在您的代码中看不到打印编写器。您是否收到任何运行时或编译错误?可能捕获块中出现异常-请尝试在那里添加日志。还有,为什么要在default和catch中执行附加的
    nextLine
    ?这将使它在第一次无条件的
    nextLine
    调用后跳过另一行。顺便说一句,您在
    case
    语句中有“PUT”,但在您的示例中是“SET”。您希望在“case”reg“中adatok size=3,但由于您的输入示例,它应该等于2请显示更多代码,在您的代码中看不到打印编写器。
    String[] line = s.split(":");