A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山雨欲来风满楼 中级黑马   /  2016-9-19 01:07  /  926 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

2.给定一个list集合:{"张柏芝","刘德华","张亮","张靓颖","杨颖","黄晓明"}
     1.编写一个方法:将list集合中所有姓张的人员写入到D:\\a.txt中
         2.编写一个方法:将D:\\a.txt中所有姓张的人员信息读取出来并打印到控制台上(不关联上一小题)

这个点招题的第二问怎么用代码实现啊?

9 个回复

倒序浏览
你可以遍历集合,然后判断,用.startwith()看看是否是以张开头就行了
回复 使用道具 举报
第二问首先要把所有的信息读取到集合中,然后遍历集合并进行判断是否以张开头,是就打印
回复 使用道具 举报
18001105207 发表于 2016-9-19 10:38
第二问首先要把所有的信息读取到集合中,然后遍历集合并进行判断是否以张开头,是就打印 ...

那a.txt文件中这样写 张柏芝,张亮,李四,张靓颖,张名,李白,是不是就不能用readLine去读啦,那用什么读,read吗?请指教。。。。
回复 使用道具 举报
import java.io.File;
import java.io.FileInputStream;

public class Kyou{
       
                public static void main(String[]args){
                        File file=new File("d:/a.txt");//获取文件
                       
                        try {
                                FileInputStream        in = new FileInputStream(file);//传入流
                                byte byt[]=new byte[1024];//创建byte数组
                                int len=in.read(byt);//从文件中读取信息
                                System.out.println(new String(byt,0,len));
                        } catch (Exception e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                       
                       
                }
}
回复 使用道具 举报
遍历集合  .startsWhith()判断是否姓张        
回复 使用道具 举报
zhangjiesss 发表于 2016-9-19 11:52
那a.txt文件中这样写 张柏芝,张亮,李四,张靓颖,张名,李白,是不是就不能用readLine去读啦,那用什么读,r ...

如果不是一行一个名字的话,就麻烦一点,也可以用readLine去读,读了之后把所有的字符串拼接在一起,再用分割的方法,以逗号为分隔规则,得到的就是名字的字符串数组,再遍历数组判断是否以张开头,是就打印。
     用什么流读取都可以,读了之后转化为字符串,之后就是分隔、判断、打印了。
回复 使用道具 举报 1 0
还不会这么高端的操作。。。同求。。
回复 使用道具 举报
linhui 初级黑马 2016-9-19 13:31:09
9#
package com.iamlinhui.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Test2 {
        public static void main(String[] args) {
                BufferedReader br = null;
                try {
                        br = new BufferedReader(new FileReader(new File("d:/a.txt")));
                        String value = null;
                        while ((value = br.readLine()) != null) {
                                char[] c = value.toCharArray();
                                for (int i = 0; i < c.length; i++) {
                                        if (c[i] == '张') {
                                                System.out.println(value);
                                                break;
                                        }
                                }
                        }
                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } finally {
                        if (br != null) {
                                try {
                                        br.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                        }
                }

        }
}
回复 使用道具 举报
public class Demo6 {

        public static void main(String[] args) throws IOException {
                BufferedReader br=new BufferedReader(new FileReader("D:\\c.txt"));
               
                StringBuffer sb=new StringBuffer();
               
                String line=null;
               
                while((line=br.readLine())!=null){
                       
                        sb.append(line);
                       
                }
               
                String[] str=sb.toString().split(",");
               
                for (String string1 : str) {
                       
                        if (string1.startsWith("张")) {
                               
                                System.out.print(string1+";");
                               
                        }
                       
                }
               
                br.close();

        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马