利用java简单的处理文章数据

课题任务一:
1、在Eclipse或MyEclipse环境下运用java能够读写文件,文件内容为一篇文章。
2、能够将文章以句子进行分隔。
3、能够在每个句子的后面进行标注,如果句子位于文章第一句,标为B,如果句子位于文章中间,标为I,如果句子位于文章结尾,标为E。

4、能够正确地标注出句子的位置,句子的长度(规则可以自己定)。

任务要求在11月1日前完成,请大家提交程序和文档说明(不写文档说明的也可以在程序中进行注释),没有交的同学为自动淘汰。


以上是老师给我们布置的第一个任务,由于现在java课程刚刚开课,很多同学连面向对象的思想都还没有适应,因此做这个,是比较困难的。

整个过程需要我们自学java的一些输入输出的功能,还需要学习一些java的文件操作。对于刚刚接触java的同学,而且c语言也不太好的同学无疑使一种挑战。

不过,幸好,我提前预习过java,不能说精通java,但是足够我完成老师布置的内容了。这让我很高兴。所以提前学习还是有很多好处的。

这是我第一篇博客里面的文章,也不知道怎么写,就这样吧。



直接把我的代码贴到下面了。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.regex.Pattern;


public class lishiDemo {
    public static void main(String[] args) throws SQLException, IOException {
        
        String content="亚马逊虽然创举连连,不过他们业绩却不辉煌。有数据显示,近两年来,其营业获利仅1%。虽说数字只是指标之一,但如此之凄惨,仍不免让人嗅到危机重重。它之所以赚得不够多,或许都和市场地位屈居二线有关,在零售市场上也比不上沃尔玛、在网络服务方面拼不过微软。    全球化时代降临后,亚马逊公司逐渐进入现代人的生活,更用各项便利服务掳获许多芳心。书籍、音乐、影片所在地再远,只要连上亚马逊网站,就能以轻松完成购买手续等货到家。            身为电子商务龙头,亚马逊也创举连连,推出如Kindle平板阅读器等前瞻产品。有监于此,亚马逊确实是间优良公司。但别高兴得太早,优良归优良,他们的业绩却不见得辉煌。      营运数字大泄底    根据Yahoo财经中心的数据,亚马逊近两年来,营业获利率仅1%,即使再回推至2010年,也仅只有区区4%。虽说数字只是指标之一,事业实际现状或许更有参考价值,但是数字之凄惨,不免让人嗅到重重危机。       亚马逊总裁贝佐斯(Jeff Bezos)表示信心十足,随时都能拉高营业数字,至于现在亏钱,都是为了投资新标的,让企业继续成长茁壮。去年,亚马逊的年营收成长了27%,可惜,在Google都成长了32%的科技业中,这个数字并不亮眼。        话说回来,努力投资愿景的科技公司,也不只亚马逊一家。Google去年为了研发,已投注了68亿美金(占总营收的13.5%),至于微软,也为相同标的投注100.4亿美金(占总营收的13.4%)。显然,别人砸钱也毫不手软,结果却不输亚马逊。      雄霸天下有障碍?        事实上,亚马逊之所以赚得不够多,或许都和市场地位屈居二线有关。以下就零售、网络服务、平板三方面,简单分析该公司无法称霸的理由。         零售:       亚马逊在零售市场上,绝对称不上龙头,光是沃尔玛超市、Target超市,不仅销量遥遥领先,更是连年都有净获利。此外,亚马逊也拼不过众家专门零售商,如Neiman Marcus、Williams Sonoma等,毕竟,这些公司营销铺货的技术堪称一流。         上述公司虽然不与亚马逊电子商务合作,但却和BloomReach平台携手并进,而亚马逊有的,BloomReach差不多都有。如此一来,亚马逊要想登上零售之王宝座,难上加难。     网络服务:      在此领域中,亚马逊确实开了先路,甚至将自家系统租用给负担不起或用不着的公司,藉机再赚一笔。可惜,这看似强大的策略,却依然岌岌可危,因为前有大富翁微软的Azure威胁,后有新星Rackspace挑战。被这两家前后进击,市场老大梦大概也得醒了。平板:         2007年,亚马逊推出前所未见的Kindle平板装置,虽然Kindle只能作为阅读器,仍让用户眼睛一亮。不过快乐的时光总不长,当iPad和Android席卷市场,亚马逊因此节节败退,落得只比跑龙套好一点。       综上所述,亚马逊显然毫无优势,正因如此,公司自然滚不了财。没错,贝佐斯的功劳确实了不起,可是,或许他的口袋早已饱满,又无被裁员压力,因而失去获利雄心。总裁当圣人很好,但活在强敌环伺的市场中,公司恐怕只会被当炮灰了。";//要处理的字符串
        
        int index =1;
        
        File testfile = new File("E:\\test"+index+".txt");//建立文件
        BufferedWriter output = new BufferedWriter(new FileWriter(testfile));//把文件打开到输入缓冲流中
        
    
        
        Pattern pattern = Pattern.compile("[\\n]+"); //根据回车符进行判断
        String []paragraph = pattern.split(content.trim());//去除开头和末尾的空格并进行分裂段落复制给paragraph
        for (int i = 0 ;i < paragraph.length;i ++)
        {
            if(paragraph[i].length()==1)
            {
                continue;
            }
            else
            {
            String [] sentence = paragraph[i].trim().split("。|?|!");//分裂一个段落,成句子。
            
            for(int j = 0;j< sentence.length;j++)
            {
                
                if(sentence[j].length()==1)
                    continue;
                else
                {
                String position = "";
                String len = "";
          
                if(j == 0)//判断句子的位置
                    position="B";
                else if (j == (sentence.length-1))
                    position="E";
                else
                    position="I";
                if(sentence[j].length()<10)//判断多少个字符,长度
                    len = "S";
                else if(sentence[j].length()<=25)
                    len = "M";
                else
                    len = "L";
                      
                String sens = sentence[j].trim().replace(" ", "");//处理过后的文档
                sens = sens.replaceAll("  ", "");
                sens = sens.replaceAll("\n", "");
                output.write(sens+" "+position+" "+len+System.getProperty("line.separator"));//在缓冲流的那个文档中输出标志
                }
             }
            }
            output.write(System.getProperty("line.separator"));//获取系统属性中显示的指定键。getProperty(),应该是换行吧。
            
        }
        output.close();//关闭缓冲流
        index++;
    }
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值