黑马程序员技术交流社区

标题: 编程题求解 [打印本页]

作者: 山雨欲来风满楼    时间: 2016-9-19 01:07
标题: 编程题求解
2.给定一个list集合:{"张柏芝","刘德华","张亮","张靓颖","杨颖","黄晓明"}
     1.编写一个方法:将list集合中所有姓张的人员写入到D:\\a.txt中
         2.编写一个方法:将D:\\a.txt中所有姓张的人员信息读取出来并打印到控制台上(不关联上一小题)

这个点招题的第二问怎么用代码实现啊?
作者: gzgzgz159357    时间: 2016-9-19 08:51
你可以遍历集合,然后判断,用.startwith()看看是否是以张开头就行了
作者: 18001105207    时间: 2016-9-19 10:38
第二问首先要把所有的信息读取到集合中,然后遍历集合并进行判断是否以张开头,是就打印
作者: zhangjiesss    时间: 2016-9-19 11:52
18001105207 发表于 2016-9-19 10:38
第二问首先要把所有的信息读取到集合中,然后遍历集合并进行判断是否以张开头,是就打印 ...

那a.txt文件中这样写 张柏芝,张亮,李四,张靓颖,张名,李白,是不是就不能用readLine去读啦,那用什么读,read吗?请指教。。。。
作者: kansyoukyou    时间: 2016-9-19 12:16
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();
                        }
                       
                       
                }
}
作者: 431613758    时间: 2016-9-19 12:49
遍历集合  .startsWhith()判断是否姓张        
作者: 18001105207    时间: 2016-9-19 12:53
zhangjiesss 发表于 2016-9-19 11:52
那a.txt文件中这样写 张柏芝,张亮,李四,张靓颖,张名,李白,是不是就不能用readLine去读啦,那用什么读,r ...

如果不是一行一个名字的话,就麻烦一点,也可以用readLine去读,读了之后把所有的字符串拼接在一起,再用分割的方法,以逗号为分隔规则,得到的就是名字的字符串数组,再遍历数组判断是否以张开头,是就打印。
     用什么流读取都可以,读了之后转化为字符串,之后就是分隔、判断、打印了。

作者: IceLoveInFire丶    时间: 2016-9-19 13:28
还不会这么高端的操作。。。同求。。
作者: linhui    时间: 2016-9-19 13:31
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();
                                }
                        }
                }

        }
}

作者: zhangjiesss    时间: 2016-9-19 14:40
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();

        }

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2