用Java代码实现改变一个文本中的内容,即将一个文本里的内容修改内容,并存储到另一个文本中

下面我用一个案例做实验的具体教程,首先我从网上下载了一个四级单词词汇

这里写图片描述

里面的行数我用代码算了一下是4604行。
然后我用Java代码将它的所有单词取出来,没有名词解释,也没有汉译,只有单词
从上面的图片中,我们明显的可以看到每个单词后面有一个空格,之后才是解释,和汉译,所以只要一空格为分隔符,就可以完成分隔
再下面代码中需要注意的是widows的换行符是\r\n

package com.wordSearch.cc;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
/**
 * 
 * @author SunnyBoy
 * @version Time:2017年7月29日 下午7:55:39
 */
public class WordFormat {
    public static void main(String[] args) throws IOException {
        String path = "D:\\test/levelFourWord.txt";
        String path1 = "D:\\test/newFourWord.txt";
        File file = new File(path);
        File file1 = new File(path1);
        BufferedReader br = new BufferedReader(new FileReader(file));
        PrintWriter pw = new PrintWriter(file1);
        String str = null;
        while ((str = br.readLine()) != null) {
            int n = 0;
            n = str.indexOf(" ");
            if (n > 0) {//if语句主要用来判断,该单词是否有空格为分隔符的
                String s = str.substring(0, n);
                pw.print(s+"\r\n");//这里主要是将一字符串打入一个文本中
            }
            else pw.print(str+"\r\n");
        }
        pw.close();这个主要是结束打印文本
    }
}

运行之后生成的文本
这里写图片描述

为了实现部分的代码实现,这里我再补充一点,我最后又将这个文本做一个排序,因为有的项目需要进行对这个文本查找的时候,这个文本就需要排序了

package com.wordSearch.cc;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
/**
 * 
 * @author SunnyBoy
 * @version Time:2017年7月29日 下午8:02:53
 */
public class WordSort {
    public static void main(String[] args) throws IOException {
        String path = "D:\\test/newFourWord.txt";
        String path1 = "D:\\test/newFourWord1.txt";
        File file = new File(path);
        File file1 = new File(path1);
        BufferedReader br = new BufferedReader(new FileReader(file));
        PrintWriter pw = new PrintWriter(file1);
        String str = null;
        String[] string = new String[4604];//因为知道了具体的读入个数,我这里直接定义了具体的数组
        int i = 0;
        while ((str = br.readLine()) != null) {
            string[i++] = str;
        }
        Arrays.sort(string);//直接使用jdk中封装的排序函数进行排序
        for(int k = 1;k<i;k++) {
            pw.print(string[k]+"\r\n");
        }
        pw.close();
    }
}

排序后就成下面的样子了
这里写图片描述

这就是我自己琢磨出来的一些io代码,如果又哪些方面不对,还请告知,谢谢

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
readfile.java一个用于读取文本文件内容的程序。在编写readfile.java的过程,我们需要首先建立一个文件输入流,并且指定要读取的文本文件的路径和文件名。然后通过使用Java文件输入流类和缓冲输入流类,可以逐行读取文本文件内容。在读取完毕后,需要关闭文件输入流,释放文件资源。 具体的编写步骤可以分为以下几个步骤: 1. 引入所需的包和类:在readfile.java,需要引入Java的输入输出相关的包,以及File和FileInputStream等类。这些包和类可以帮助我们实现文件输入流的操作。 2. 建立文件输入流:在程序,需要指定要读取的文本文件的路径和文件名,并且利用FileInputStream类来建立文件输入流。 3. 使用缓冲输入流读取文件内容:通过使用BufferedReader类和InputStreamReader类,可以实现按行读取文本文件内容,并且存储一个字符串变量或者字符串数组。 4. 循环遍历读取文本内容:通过使用循环语句,可以逐行读取文本文件内容,并且进行处理或者展示。 5. 关闭文件输入流:在读取文件内容完毕后,应该及时地关闭文件输入流,以释放文件资源。 总的来说,编写readfile.java涉及到建立文件输入流、按行读取文件内容、循环遍历读取内容和关闭文件输入流等操作。通过上述步骤,我们可以实现一个读取文本文件内容的程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值