java_根据指定分隔符,以该种分隔符作为每一行字符串的结尾来分行(比如处理环境变量)

package FileProcessor;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * @Author xuchaoxin
 * @Date 12/19/2020 6:42 PM
 * @Version 1.0
 */
public class SeparatorDivideLines {
    public static void main(String[] args) throws FileNotFoundException {
        String filePrefix = "C:/users/xuchaoxin/desktop/";
        System.out.println("Please input a file name in your desktop:");
        String fileName = new Scanner(System.in).nextLine();
        String absoluteFileName=filePrefix + fileName;

        File inputFile = new File(absoluteFileName);
        Scanner scanner = new Scanner(inputFile);

        StringBuilder builder= new StringBuilder();
        String tempStr="";
        while (scanner.hasNextLine()) {
//            tempStr=scanner.nextLine();builder.append(tempStr);
//            while (builder.toString().contains(";")){
//
//                int indexOfSeparator = scanner.nextLine().indexOf(';');
//            }
            String[] split = scanner.nextLine().split(";");
            for (int i = 0; i < split.length; i++) {
                builder.append(split[i]+";\n");
            }

        }
        scanner.close();
        /*观察效果.*/
        System.out.println(builder);
        //File fileOutput = new File(absoluteFileName);
        PrintWriter writer=new PrintWriter(absoluteFileName);
        writer.write(builder.toString());
        writer.close();
    }
}


改进一点

package FileProcessor;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * @Author xuchaoxin
 * @Date 12/19/2020 6:42 PM
 * @Version 2.0
 */
public class SeparatorDivideLines {
    public static void main(String[] args) throws FileNotFoundException {
        String filePrefix = "C:/users/xuchaoxin/desktop/";

        System.out.println("Please input a file name in your desktop:");
        String fileName = new Scanner(System.in).nextLine();
        String absoluteFileName=filePrefix + fileName;
        System.out.println("input a separator:");
        String separator=new Scanner(System.in).nextLine();
        File inputFile = new File(absoluteFileName);
        Scanner scanner = new Scanner(inputFile);

        StringBuilder builder= new StringBuilder();
        String tempStr="";
        while (scanner.hasNextLine()) {
            String[] split = scanner.nextLine().split(separator);
            
            for (int i = 0; i < split.length; i++) {
                builder.append(split[i]+separator+"\n");
            }

        }
        scanner.close();
            /*观察效果.*/
            System.out.println(builder);
        //File fileOutput = new File(absoluteFileName);
        PrintWriter writer=new PrintWriter(absoluteFileName);
        writer.write(builder.toString());
        writer.close();
    }
}

posted @ 2021-10-22 11:16  xuchaoxin1375  阅读(18)  评论(0)    收藏  举报  来源