ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

020.完成的功能点: * ①文件不存在或者 * ②不是txt结尾的文件 * ③txt的文件格式不对 * ④球员名字不符合要求

2022-05-26 02:00:26  阅读:143  来源: 互联网

标签:文件 int System 文件格式 println txt out


package com.qx.file;

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * 完成的功能点:
 * ①文件不存在或者
 * ②不是txt结尾的文件
 * ③txt的文件格式不对
 * ④球员名字不符合要求
 * D:\IDEA\2022-5-23-WordCulp\wordculp.txt
 */
public class Test
{
    public static void main(String[] args) throws IOException
    {
        System.out.print("请输入文件名:");
        Scanner input = new Scanner(System.in);
        String path = input.nextLine();
        File file = new File(path);
        if (file.isDirectory())
        {
            System.out.println("这是一个文件夹,请输入带文件名的文件路径!");
        }
        else
        {
            if (file.exists())
            {
                System.out.println("目标" + file.getName() + "存在");
                String toLowerCase = path.toLowerCase();//将路径中所有字母都转换成小写
                int i = toLowerCase.lastIndexOf(".");//返回指定字符在此字符串中最后一次出现处的索引
                if (i > 0)
                {
                    String txtName = path.substring(i + 1);
                    if (txtName.equals("txt"))
                    {
                        System.out.println("后缀是txt");
                        //todo 判断文件格式这个没考虑好!!!现有的判断方式存在错误!!!
                        //判断文件格式对不对
                        FileInputStream fis = new FileInputStream(path);
                        int dataFis;
                        StringBuffer dataStringBuffer = new StringBuffer();
                        while ((dataFis = fis.read()) != -1)
                        {
                            dataStringBuffer.append((char) dataFis);
                        }
                        //这里的data是转换后txt中的内容
                        String data = dataStringBuffer.toString();
                        System.out.println("读取到的结果为:" + data);
                        fis.close();
                        /**
                         * 1.获取空格第一次出现的位置indexSpace
                         * 2.获取逗号第一次出现的位置indexComma
                         * 3.如果indexSpace<indexComma说明逗号的位置在空格的后面
                         */
                        ArrayList<String> dataStringArray = new ArrayList<>();
                        ArrayList<Integer> numberStringArray = new ArrayList<>();
                        int indexSpace = data.indexOf(" ");
                        int indexComma = data.indexOf(",");
                        //新的判断文件格式的方式,如果不是4就代表不是四个队伍
                        String[] array = data.split(",");//这里获取到的是4个String字符串
                        if (indexComma != -1 && indexSpace != -1 && indexComma > indexSpace && array.length == 4)
                        {
                            //System.out.println(txtName + "的文件格式正确");
                            for (int j = 0; j < array.length; j++)
                            {
                                dataStringArray.add(array[j].split(" ")[1]);
                                dataStringArray.add(array[j].split(" ")[2]);
                                numberStringArray.add(Integer.parseInt(array[j].split(" ")[3]));
                            }
                            //// TODO: 2022/5/26   球队排名只能是1,2,3,4
                            for (int m = 0; m < numberStringArray.size(); m++)
                            {
                                System.out.println(numberStringArray.get(m));
                            }
                            System.out.print("球员的名字分别是:");
                            for (int k = 0; k < dataStringArray.size(); k++)
                            {
                                System.out.print(dataStringArray.get(k)+" ");
                            }
                            //// TODO: 2022/5/26  判断球员的名字是否符合要求,要求每个球员的名字必须有俩个字母
                            System.out.print("球员名字的判断结果为:");
                            for (int v = 0; v < dataStringArray.size(); v++)
                            {

                            }
                        }
                        else
                        {
                            System.out.println(txtName + "的文件格式不正确");
                        }

                    }
                    else
                    {
                        System.out.println("后缀不是txt");
                    }
                }

            }
            else
            {
                System.out.println("文件不存在");
            }
        }
    }
}

 

标签:文件,int,System,文件格式,println,txt,out
来源: https://www.cnblogs.com/LLL0617/p/16311637.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有