java从list中取数,取前三行

我用的存储不是数据库,是txt文本,我已经写好怎么读取txt文本了,也写好怎么将txt文本保存在临时list中,我现在想将从list读取前三行改成我要输入空格,再将整体list写入txt文件中,将list进行清空,全部代码.

第1个回答  2013-06-21
public ArrayList<String> translate(ArrayList<String> list) {
   if (list.size() >= 3) {
       list.set(0, "");
       list.set(1, "");
       list.set(2, "");
    }
    return list;
}

追问

再将整体list写入txt文件中,将list进行清空,这步怎么代码怎么写

追答list = new ArrayList();// 可以这样清空
//或者一个一个的删除
for(int i = 0; i < list.size();i++){
    list.remove(i);
}

追问

再将整体list写入txt文件中这步怎么代码怎么写,如果是定义变量等于其中一行数据之下两行加定义变量等于的行为空代码怎么写

追答

评论正解

public ArrayList<String> translate(ArrayList<String> list) {
        if (list.size() >= 3) {
            list.set(0, "");
            list.set(1, "");
            list.set(2, "");
        }
        return list;
    }
    
    public void writeFile(ArrayList<String> list, String path) {
        BufferedWriter bw = null;
        try {
            File file = new File(path);
            if (!file.exists()) file.createNewFile();
            bw = new BufferedWriter(new FileWriter(file));
            StringBuffer sb = new StringBuffer();
            Iterator<String> it = list.iterator();
            while(it.hasNext()) {
                sb.append(it.next()+"\n");
            }
            list.clear();
            bw.write(sb.toString());
            bw.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (bw != null) bw.close();
                bw = null;
            } catch (IOException e) {}
        }
        
    }

追问

如果是定义变量等于其中一行数据之下两行加定义变量等于的行为空代码怎么写,而不是固定的前三行为空

追答/**
     * 
     * @param list 集合
     * @param begin 开始
     * @param length 长度
     * @return
     */
    public static ArrayList<String> translate(ArrayList<String> list, int begin, int length) {
        if (list.size() >= length + begin) {
            for (int i = 0; i < length; i++) {
                list.set(begin, "");
                begin++;
            }
        }
        return list;
    }

追问

怎么查找想的数据在第几行,代码怎么写

追答public static void find(ArrayList<String> list, String value) { 
        for(int i = 0;i<list.size();i++) {
            if(list.get(i).equals(value)){
                System.out.println(i);
            }
        }
    }

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网