问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 按行读取一个文件,存在字符串数组里,一个元素对应一行,再将这个数组按行输出到一个新的文件里

发布网友 发布时间:2022-05-01 05:23

我来回答

2个回答

热心网友 时间:2023-10-08 01:32

java 按行读取一个文件,存在字符串数组里,一个元素对应一行,再将这个数组按行输出到一个新的文件里,代码如下:

package foo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        File readFile=new File("D://home/a.txt");
        InputStream in=null;
        InputStreamReader ir=null;
        BufferedReader br=null;
        
        OutputStream out=null;
        OutputStreamWriter ow=null;
        BufferedWriter bw=null;
        try {
        //用流读取文件
in=new BufferedInputStream(new FileInputStream(readFile));
//如果你文件已utf-8编码的就按这个编码来读取,不然又中文会读取到乱码
ir=new InputStreamReader(in,"utf-8");
br=new BufferedReader(ir);
String line="";
//定义集合一行一行存放
List<String> list=new ArrayList<String>();
//一行一行读取
while((line=br.readLine())!=null){
System.out.println(line);
list.add(line);
}
//将集合转换成数组
String[] arr=list.toArray(new String[list.size()]);

//写入新文件
File newFile=new File("D://home/b.txt");
if(!newFile.exists()){
newFile.createNewFile();
}

out=new BufferedOutputStream(new FileOutputStream(newFile));
//这里也可以给定编码写入新文件
ow=new OutputStreamWriter(out,"gb2312");
bw=new BufferedWriter(ow);
//遍历数组吧字符串写入新文件中
for(int x=0;x<arr.length;x++){
bw.write(arr[x]);
if(x!=arr.length-1){
  //换行
  bw.newLine();
}

}
//刷新该流的缓冲,这样才真正写入完整到新文件中
bw.flush();
} catch (Exception e) {

e.printStackTrace();
}finally{
//一定要关闭流,倒序关闭
try {
if(bw!=null){
bw.close();
}
if(ow!=null){
ow.close();
}
if(out!=null){
out.close();
}
if(br!=null){
br.close();
}
if(ir!=null){
ir.close();
}
if(in!=null){
in.close();
}
} catch (Exception e2) {

}

}
    
    }
}

热心网友 时间:2023-10-08 01:32

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

public class ReadAndOut {
static String[] ary;
static final String READ_PATH="c:\\test.txt";
static final String OUT_PATH="c:\\test2.txt";
public static void main(String[] args) throws Exception {
//首先读取文件,
ArrayList<String> list = new ArrayList<String>();
File file = new File(READ_PATH);
BufferedReader br = new BufferedReader(new FileReader(file));
String temp;
while((temp=br.readLine())!=null){
list.add(temp);
}
br.close();
//然后存到数组中
ary = new String[list.size()];//从集合存到数组中
for (int i = 0; i < list.size(); i++) {
ary[i] = list.get(i);
}

//最后把数组的元素,输出出去
BufferedWriter bw = new BufferedWriter(new FileWriter(OUT_PATH));
for (int i = 0; i < ary.length; i++) {
bw.write(ary[i]);
bw.newLine();
}
bw.close();
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上市就跌的股票为什么 为什么新股都会暴跌 为什么新股上市都跌 身上有烧伤的伤疤怎么去除 石榴皮发霉还能吃吗?新鲜石榴的保存方法有哪些? 5岁上瑞思和英孚哪个好 瑞思和英孚哪个好?上过课后来说说各自的优缺点 瑞思和英孚哪个好?上过课后来分享各自的优缺点 怎么当历史老师 中学历史老师需求状况 武汉周边最好的温泉度假选择哪个好 武汉哪有可以泡温泉的地方? 武汉周边哪些温泉比较好? 武汉哪里有温泉? 卡其色上衣搭配什么颜色的裙子好看呢? 图一是卡其色大衣,可以和哪种蓝色搭配? 春桃和图雅的婚事,两个主人公的人物形象对比分析,或者心理分析,论文的形式 刘晓庆年轻时主演过的电视剧,里面有她女扮男装的情节,貌似*桃,但绝对不是她和姜文演的《春桃》 作诗,我朋友名字叫,何春桃。作诗,藏头诗和什么都可以。 许地山《春桃》的写作手法和中心思想是什么? 姜文和刘晓庆合作电影有哪些 《木兰妈妈》谁看?谁知道程诗曼和陈艳丽是一个人吗?如果不是,那程诗曼... 我姐妹名字的后两个字是春桃,把春和桃组成一句诗或者句子 春天后母心 赵哥第几集和春桃有关系 《虎胆雄心》中柳春桃哪集告诉江波她与从丽的关系的 电视剧里叫春桃和犟牛的电视剧叫什么? 豆腐西施里的钱春桃和谁在一起了? 春桃柿子和普通蔬菜柿子有什么区别? 虎胆雄心里面的柳春桃 后来怎么没和江波并肩作战啊??他去了哪里? 用水晶玫瑰花做文章 java写入txt文件 想要修改txt文件每一行的第一个数字 加一就好 武汉哪里有温泉酒店? java 有什么方法可以把txt文件中的字符按照一行一行输出?有什么方法可以下一次写时换一行写? 武汉周边温泉有那些,温泉比较正宗的,谢谢 武汉周边的温泉太多了,有碧桂园温泉、万豪温泉、三江温泉、瑶池温泉、太乙温泉等,不知道哪个好玩一些? 武汉周边有什么好玩的地方?2到3天 武汉到湖北省内泡温泉哪里最好?行程如何安排 ? 没有了,微信钱包里的钱怎么找回来? 没有了,微信钱包里的钱怎么找回来? 今天用鼻子呼吸有点堵堵的 结婚用卫生纸 用力冲鼻涕 发现有血 东城区清洗地毯公司 东城区清洗地毯 东城区清洗地毯公司哪家好点? 怎样注册? 北京开荒保洁公司哪家更好)请找-《复兴》口碑好!东城区地面清 东莞东城区家政保洁哪家好 注册一个新的怎么注册 OPPO R15X如何使用高清语音通话功能? OPPO R15X如何开通VoLTE高清通话功能? oppo手机左上有个红圈是什么标志