有 Java 编程相关的问题?

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

在Java中读取/打开文本文件

我知道可能有数百篇帖子都在讨论这个问题,但就我个人而言,我什么都想不出来。在这个程序中,我有一个“开放”的案例,作为一个开始的Java练习,我已经承诺要完成它。我已经让Save函数工作了,但是看着它,我再也无法尝试我的问题了。这是我的密码

if(arg.equals(Editor.fileLabels[0])){
    if(Editor.VERBOSE)
    System.err.println(Editor.fileLabels[0] + 
               " has been selected");
    filedialog = new FileDialog(editor, "Open File Dialog", FileDialog.LOAD); 
    filedialog.setVisible(true);
    if(Editor.VERBOSE){ 
    System.err.println("Exited filedialog.setVisible(true);");
    System.err.println("Open file = " + filedialog.getFile());
    System.err.println("Open directory = " + filedialog.getDirectory()); 
    }

}

在写这个问题之前,我尝试过解决方法;然而,我看到的所有示例都是各自独立的方法。任何帮助都将不胜感激。:)


共 (2) 个答案

  1. # 1 楼答案

    无论您使用的是什么UI框架,只有在用户关闭文件对话框后,文件对话框的结果才可用。在您的情况下,您已经显示了该对话框,并立即期望目录和文件可用。这不会发生,因为对话框可能仍处于打开状态

    而且,这一切都是基于我的猜测,因为你没有真正说出什么是错的,什么是你期望的

  2. # 2 楼答案

    公共类FileReadWrite{

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    
        try {
            // Open the file that is the first 
            // command line parameter
            FileInputStream fstream = new  FileInputStream("Path for the file/filename.txt");
    
            // Get the object of DataInputStream
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine;
            File file = new File("Path for the file/filename.txt");
            Writer writer = new BufferedWriter(new FileWriter(file));
    
    
            //Read File Line By Line
            while ((strLine = br.readLine()) != null)   {
                // Print the content on the console
                System.out.println (strLine);
                String[] words = strLine.split("\\s+");
                String revrseStrline="";
                for(int i=words.length-1;i>=0; i  )
                {
                    revrseStrline+=words[i]+" ";
                }
    
                writer.write(revrseStrline);
                writer.write(System.getProperty("line.separator"));
    
              }
    
             // Close the input stream
            in.close();
            writer.close();
        } catch (Exception e) { // Catch exception if any
            System.err.println("Error: " + e.getMessage());
        }
    }
    

    }