java包的定义

  编写一个Java程序,按行读入一个文本文件,取出介于用分隔符之间的连续的字符串作为单词,将每个单词作为一行输出到一个文件中。

 问题分析和解决方案:

  (1)打开文本文件,逐行读入文本文件的内容;

  (2)对每一行,使用分割字符串的函数,从空白付出切割单词;

  (3)忽略长度为0的单词(空串);

  (4)将单词按顺序逐个输出;

  (5)考虑文本文件的编码;

  (6)输入和输出文件名通过命令行输入。

编码一个包文件:

   <1>建立项目。

    创建Java项目“Stream”。

   <2>创建包。

    在Java项目“Stream”的“src”之下,创建包“com.elephant.stream”。

   <3>创建类。

    再包“com.elephant.stream”中,创建类“Testtoword ”。

编写程序如下:

package com.elephant.stream;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

public class Testtoword{

public static void main(String[] args){

/*检查是否输入两个文件名:输入文件名和输出文件名*/

if(args.length != 2){

System.out.println("请输入两个文件名!!!");

}else{

/*step1:获得输入输出文件名*/

String infile = args[0];//输入文件名

String outfile = args[1];//输出文件名

try{

/*step2:打开输入文件*/

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(infile),"GBK"));

String lineBuffer;

/*step3:分解单词:分解后的单词,临时存放在对象words中*/

StringBuffer words = new StringBuffer();

while ( null != (lineBuffer = br.readLine())){

String[] word = lineBuffer.replaceAll("\t"," ").split(" ");

for (int i = 0; i < word.length; i++)

if(word[i].trim().length() > 0)

words.append(word[i] + "\r\n");

}

br.close();

/*step4:分解结果写入输出文件*/

FileOutputStream fos = new FileOutputStream(outfile);

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"GBK"));

bw.write(words.toString());

bw.close();

}catch (Exception e){

System.out.println("文件处理发生错误!!!");

System.out.println("输入文件名:" + infile);

System.out.println("输出文件名:" + outfile);

System.out.println("错误信息:" + e.getMessage());

}

}

}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值