日期:2014-05-20  浏览次数:20688 次

能不能给点对于初学者研究的好程序 所有经典的 你觉得不错的 谢了
能不能给点对于初学者研究的好程序 所有经典的 你觉得不错的 谢了 一直没好的程序看下

------解决方案--------------------
jdk下 demo、sample两个目录的代码都可以看看。
------解决方案--------------------
论坛里不是有个俄罗斯方块么 = =
------解决方案--------------------
初學者的話對大型源碼未必能很好吸收,可以考慮看點好書,像effective java之類
------解决方案--------------------
下面几个是我平时用来读写文件的
Java code

///////////////////////////////////////////////////////////////////////////////////////////////////// 
public static String getFileInformation(File f) {
    if (f == null)
        return null;
    StringBuilder sb = new StringBuilder();
    try {
        sb.append("\nf.getAbsoluteFile()=");
        sb.append(f.getAbsoluteFile());

        sb.append("\nf.getAbsolutePath()=");
        sb.append(f.getAbsolutePath());

        sb.append("\nf.getCanonicalFile()=");
        sb.append(f.getCanonicalFile());

        sb.append("\nf.getCanonicalPath()=");
        sb.append(f.getCanonicalPath());

        sb.append("\nf.getName()=");
        sb.append(f.getName());

        sb.append("\nf.getParent()=");
        sb.append(f.getParent());

        sb.append("\nf.getParentFile()=");
        sb.append(f.getParentFile());

        sb.append("\nf.getPath()=");
        sb.append(f.getPath());

        sb.append("\n--------------------------------------------");
        sb.append("\nf.canRead()=");
        sb.append(f.canRead());

        sb.append("\nf.canWrite()=");
        sb.append(f.canWrite());

        sb.append("\nf.exists()=");
        sb.append(f.exists());

        sb.append("\nf.isAbsolute()=");
        sb.append(f.isAbsolute());

        sb.append("\nf.isDirectory()=");
        sb.append(f.isDirectory());

        sb.append("\nf.isFile()=");
        sb.append(f.isFile());

        sb.append("\nf.isHidden()=");
        sb.append(f.isHidden());

        sb.append("\nf.lastModified()=");
        sb.append(f.lastModified());

        sb.append("\nf.length()=");
        sb.append(f.length());

        sb.append("\nf.toURI()=");
        sb.append(f.toURI());

        sb.append("\nf.toURL()=");
        sb.append(f.toURL());

        sb.append("\nf.pathSeparatorChar=");
        sb.append(f.pathSeparatorChar);

        sb.append("\nf.separatorChar=");
        sb.append(f.separatorChar);

        sb.append("\nf.pathSeparator=");
        sb.append(f.pathSeparator);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return sb.toString();
    }


 // // //////////////////////////////////////////////////////////////////////////////////////////////////////

  // //////////////////////////////////////////////////////////////////////////////////////////////////////

    public static void stringToFile(String sourceString) {
    PrintWriter pw = null;
    try {
        JFileChooser jFileChooser = new JFileChooser();
        javax.swing.filechooser.FileFilter fileFilter = new javax.swing.filechooser.FileFilter() {
        public boolean accept(File file) {
            if (file.isDirectory())
            return true;
            String fileName = file.getName();
            if (fileName.toUpperCase().endsWith("TXT"))
            return true;
            return false;
        }

        public String getDescription() {
            return "保存为文本文件";
        }
        };// 建立一个过滤文件类型的过滤器(对话框中正确显示文件),是否启用过滤器决定于下面两句话
        // jFileChooser.addChoosableFileFilter(fileFilter);
        // jFileChooser.setFileFilter(fileFilter);
        int returnValue = jFileChooser.showSaveDialog(null);
        File fileOfSave = null;// 保存文件句柄
        if (returnValue == javax.swing.JFileChooser.APPROVE_OPTION) {
        fileOfSave = jFileChooser.getSelectedFile();// 获得文件句柄,文件是否存在还未知
        }
        if(fileOfSave == null) return;
        String fileNameOfSave = fileOfSave.getName();// 返回输入的文件名
        // 检查文件名是否符合要求,这一步暂时省略......................................
        if (fileOfSave.exists() && !isAgree("该文件已经存在,确定要覆盖吗?"))
        return;
        else
        fileOfSave.createNewFile();
        pw = new PrintWriter(fileOfSave);
        pw.print(sourceString);
        pw.flush();
    } catch (IOException e) {
        throw new RuntimeException(e);
    } finally {
        if (pw != null)
        pw.close();
    }
    }

    // //////////////////////////////////////////////////////////////////////////////////////////////////////
    public static String fileToString() {
    StringBuilder sb = new StringBuilder();
    JFileChooser jFileChooser = new JFileChooser();
    javax.swing.filechooser.FileFilter fileFilter = new javax.swing.filechooser.FileFilter() {
        public boolean accept(File file) {
        if (file.isDirectory())
            return true;
        String fileName = file.getName();
        if (fileName.toUpperCase().endsWith("TXT"))
            return true;
        return false;
        }

        public String getDescription() {
        return "读取文本文件";
        }
    };
    // 建立一个过滤文件类型的过滤器(对话框中正确显示文件),是否启用过滤器决定于下面两句话
    // jFileChooser.addChoosableFileFilter(fileFilter);
    // jFileChooser.setFileFilter(fileFilter);
    int returnValue = jFileChooser.showOpenDialog(null);
    if (returnValue == JFileChooser.APPROVE_OPTION) {
        File file = jFileChooser.getSelectedFile();
        if (!file.exists()) {
        prompt("文件不存在");
        return null;
        }
        // 检查文件名是否符合要求,这一步暂时省略......................................
        BufferedReader br = null;
        try {
        br = new BufferedReader(new FileReader(file));

        String string;
        while ((string = br.readLine()) != null) {
            sb.append(string);
            sb.append("\r\n");
        }
        } catch (IOException e) {
        throw new RuntimeException(e);
        } finally {
        if (br != null)
            try {
            br.close();
            } catch (IOException e) {
            throw new RuntimeException(e);
            }
        }
    }
    return sb.toString();
    }

    public static boolean isAgree(String hint) {
    int returnValue = javax.swing.JOptionPane.showConfirmDialog(null, hint);
    if (returnValue == javax.swing.JOptionPane.YES_OPTION)
        return true;
    else
        return false;
    }

    public static int prompt(String promptMessage) {
    return JOptionPane.showConfirmDialog(null, promptMessage, "友情提示",
        JOptionPane.WARNING_MESSAGE);
    }
    // ///////////////////////////////////////////////////////////////////////////////////////////////////////