Java如何从URL读取T恤尺码文件分类存储并修改输出格式
T恤尺码分类程序输出格式调整方案
修改思路
只需对每行读取到的文本做简单分割处理即可实现需求:
- 原文本结构固定为
尺码,名,姓,按逗号分割每行内容后,取索引1的名和索引2的姓,中间加空格拼接,即可自动去掉开头的尺码标识和名姓之间的逗号 - 将原逻辑中直接输出整行的代码,替换为输出拼接后的姓名内容即可
修改后完整代码
import java.io.IOException; import java.io.PrintWriter; import java.net.URL; import java.util.Scanner; public class SortShirtSizes { /** * 从URL读取文件,按尺码分类后输出到对应txt文件 */ public static void main(String[] args) throws IOException { try { /*从URL读取尺码文本*/ String address = "https://bbmedia.dmacc.edu/CIS/CIS171/shirtsizes.txt"; URL pageLocation = new URL(address); Scanner in = new Scanner(pageLocation.openStream()); /*初始化不同尺码对应输出文件*/ PrintWriter outToSmall = new PrintWriter("smallshirts.txt"); PrintWriter outToMed = new PrintWriter("mediumshirts.txt"); PrintWriter outToLarge = new PrintWriter("largeshirts.txt"); PrintWriter outToXl = new PrintWriter("extralargeshirts.txt"); String line = ""; while (in.hasNextLine()) { line = in.nextLine().trim(); // 先去掉行首尾的空白字符 // 跳过空行避免数组越界报错 if(line.isEmpty()){ continue; } // 按逗号分割行内容 String[] parts = line.split(","); // 拼接姓名:名 + 空格 + 姓 String fullName = parts[1] + " " + parts[2]; /*按尺码分类写入对应文件*/ if (line.contains("S,")) { outToSmall.println(fullName); }else if (line.contains("M,")) { outToMed.println(fullName); }else if (line.contains("XL,")) { outToXl.println(fullName); }else if (line.contains("L,")) { outToLarge.println(fullName); } } // 关闭流资源 in.close(); outToSmall.close(); outToMed.close(); outToLarge.close(); outToXl.close(); }catch (IOException e) { System.out.println("https://bbmedia.dmacc.edu/CIS/CIS171/shirtorders2022.txt 暂时无法访问"); } } }
输出效果示例
处理后输出的文件内容如下:
Darsie Rigmand Feodor Lornsen Klement Antunes Carleton Van Leeuwen
内容的提问来源于stack exchange,提问作者Ullr
相关产品推荐
相关产品推荐

