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

在Java中读取/打开文本文件,java,file,text,Java,File,Text,我知道可能有数百篇帖子都在讨论这个问题,但就我个人而言,我什么都想不出来。在这个程序中,我有一个“开放”的案例,作为一个开始的Java练习,我已经承诺要完成它。我已经让Save函数工作了,但是看着它,我再也无法尝试我的问题了。这是我的密码 if(arg.equals(Editor.fileLabels[0])){ if(Editor.VERBOSE) System.err.println(Editor.fileLabels[0] + " has b

我知道可能有数百篇帖子都在讨论这个问题,但就我个人而言,我什么都想不出来。在这个程序中,我有一个“开放”的案例,作为一个开始的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()); 
    }

}

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

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


而且,这都是基于我的猜测,因为您并没有真正说出什么是错误的,以及您的期望。

公共类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());
    }
}

}

是的,我不知道你在问什么。在这个时代,不要使用AWT组件。Swing文件选择器是。@Andrew:的一个优点是它通常会调用平台的本机文件对话框;另请参见此。@trashgod:“…通常会引发平台的本机文件对话框…”正确,但显然不是在中。@Andrew:啊,我忽略了7下的XP样式对话框。谢谢@安德鲁:当然。我荡秋千和AWT的日子已经一去不复返了。但我很确定awt或JFileChooser的FileDialog不会等待
setVisible
,这就是我的观点。因此,我删除了单词Swing,以避免冒犯该领域的专家。”…我删除了单词Swing…“+1