linfaimom 2015-06-04 05:22 采纳率: 33.3%
浏览 1808
已采纳

java菜鸟真心求教大神,谢谢!

请大神看看下面的代码,我检查了好几次都没发现错误,为何在编译的时候会出现java找不到符号的情况。。。。代码可能有点长。。。麻烦各位了,谢谢!

 //测试FileWriter类

public class TestFileWriter
{
    public static void showFile(java.io.File file)
    {
        char buff[] = new char[22];
        int ret = 0;

        System.out.println("Showfile begin["+file.getName()+"]:");

        java.io.FileReader read_file = null;

        try
        {
            //创建读取文件对象
            read_file = new java.io.FileReader(file);

            do
            {
                //读取一段字符,每次22个字符
                ret = read_file.read(buff);  

                for (int i=0; i<ret; i++)
                {
                    System.out.print(buff[i]);  //逐个输出读入的字符
                }
            }
            while (ret!=-1);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            //关闭打开的文件
            try
            {
                read_file.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        System.out.println("\nshowfile end ["+file.getName()+"].");
    }


    public static void main(String[] argv)
    {
        char buff[] = new char[48];
        char ch = 'A';
        int ret = 0;

        for (int i=0; i<26; i++)
        {
            buff[i] = ch++;  //输入A-Z共26个字母到字符数组buff
        }

        java.io.File _write = new java.io.File("_write.txt");
        java.io.FileWriter write_java = null;

        try
        {
            System.out.println(_write.getName()+"exist?"+_write.exists());

            write_java = new java.io.FileWriter("_write.txt");  //创建写入文本的对象

            System.out.println(_write.getName()+"exist?"+_write.exists());

            write_java.write(buff,0,26);  //将buff数组里的内容输出到指定文件

            System.out.println(_write.getName()+"exist?"+_write.exists());

            //write_java.flush();

            write_java.close();  //调用close()会自动执行flush(),如果将这一行放在show_file()方法后面,则show_file()显示文件为空,因为未写入

            System.out.println("\nWrite into an empty file.");

            showFile(_write);  //调用show_file()方法
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                write_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }

            java.io.FileWriter append_java = null; 

        }

        try
        {
            //使用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
            append_java.append("Someting appended in the file....");
            append_java.close();

            System.out.println("\n以普通方式打开,调用append()方法");  
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try
        {
            //以追加方式打开文件,并使用append()方法向文件追加内容

            append_java = new java.io.FileWriter(_write, true);
            append_java.write(buff,0,26);
            append_java.close();

            System.out.println("\n以追加模式打开文件,用append()方法追加内容到文件中");
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try
        {
            //以非追加方式打开,并用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write, false);
            append_java.append(new String(buff).trim());
            append_java.close();
            System.out.println("\n以非追加方式打开,调用append()方法");
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        _write.delete();
    }
}
  • 写回答

5条回答 默认 最新

  • danielinbiti 2015-06-04 05:25
    关注
     finally
            {
                try
                {
                    write_java.close();
                }
                catch (java.lang.Exception e)
                {
                    System.out.println("Ignore the exception when closing.");
                }
    
                java.io.FileWriter append_java = null; 
    
            }
    
            try
            {
                //使用append()方法向文件追加内容
                append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
                append_java.append("Someting appended in the file....");
                append_java.close();
    
                System.out.println("\n以普通方式打开,调用append()方法");  
                showFile(_write);
            }
                    改成
                    finally
            {
                try
                {
                    write_java.close();
                }
                catch (java.lang.Exception e)
                {
                    System.out.println("Ignore the exception when closing.");
                }
    
    
            }
    
                java.io.FileWriter append_java = null; //把这个变量申明拿出来
            try
            {
                //使用append()方法向文件追加内容
                append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
                append_java.append("Someting appended in the file....");
                append_java.close();
    
                System.out.println("\n以普通方式打开,调用append()方法");  
                showFile(_write);
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 C++/QT设置函数调用条件(多个功能调用同一,且各自调用条件不同)
  • ¥15 UE5样条线生成的网格UV问题
  • ¥15 如何用最短的时间大致看懂springboot+vue的项目
  • ¥15 (有偿)懂数值分析和含时变参数微分方程的来
  • ¥15 layui父页的数据表格如何用弹窗页提交后的查询数据来更新数据表格内容?
  • ¥15 abaqus随机生成二维颗粒
  • ¥15 安装ansys许可证管理器时出现了这个问题,如何解决?
  • ¥100 高价求算法,利用智能手机传感器计算车辆的三轴g值
  • ¥15 Blazor server 数据库操作异常,如何解决?(语言-c#)
  • ¥15 uni-app开发APP运行到浏览器访问接口跨域