有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从一个文件读取,导出到另一个文件

我试图从一个.txt文件中读取GPX-数据,然后将其导出到另一个.txt文件(就像在一个更大的项目中进行测试一样)。但每次我尝试运行它时,.txt文件似乎都是空的

这是我目前使用的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    JFileChooser Chooser = new JFileChooser();        
    try{
        String Metadata = new Scanner(Chooser.getSelectedFile()).useDelimiter("</metadata").next();
        String Points = new Scanner(Chooser.getSelectedFile()).useDelimiter("<wpt>").next();
        File Test = new File("Test.txt");
        PrintWriter Output = new PrintWriter(Test);
        Output.print(Points);
    }  catch (IOException EXE) {
        System.out.println(EXE);
    }
} 

共 (2) 个答案

  1. # 1 楼答案

       private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            JFileChooser Chooser = new JFileChooser();        
            try{
                String Metadata = new Scanner(Chooser.getSelectedFile()).useDelimiter("</metadata").next();
                String Points = new Scanner(Chooser.getSelectedFile()).useDelimiter("<wpt>").next();
                File Test = new File("Test.txt");
                PrintWriter Output = new PrintWriter(Test);
                Output.write(Points);
                Output.flush() // added code 
            }  catch (IOException EXE) {
                System.out.println(EXE);
            }
        }
    

    输出。flush()将在清除缓冲区并写入数据时写入数据 归档

  2. # 2 楼答案

    将文件数据刷新为txt文件

    添加Output.flush()

     PrintWriter Output = new PrintWriter(Test);
                    Output.print(Points);
                    Output.flush();
    

    而不是

    PrintWriter Output = new PrintWriter(Test);
            Output.print(Points);