java按行读文件
发布时间: 2023-04-29 07:03:10
Ⅰ 如何用java按行读取文本文件
File file = new File("文件地址");
Scanner scanner = new Scanner(file);
String lineContent = null;
while(scanner.hasNextLine()){//如果有下一行
lineContent = scanner.nextLine();//读取下一行内容
}
scanner.close();//关闭Scanner
Ⅱ java 按行读取txt文件的数字
可以通过Java的IO流实现txt文本的读取,然后用readline实现按行读取。具体代码如下:
packagetest;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileReader;
importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.List;
publicclassTest{
publicstaticdouble[]writeToDat(Stringpath){
Filefile=newFile(path);
Listlist=newArrayList();
double[]nums=null;
try{
BufferedReaderbw=newBufferedReader(newFileReader(file));
Stringline=null;
//因为不知道有几行数据,所以先存入list集合中
while((line=bw.readLine())!=null){
list.add(line);
}
bw.close();
}catch(IOExceptione){
e.printStackTrace();
}
//确定数组长度
nums=newdouble[list.size()];
for(inti=0;i<list.size();i++){
Strings=(String)list.get(i);
nums[i]=Double.parseDouble(s);
}
returnnums;
}
publicstaticvoidmain(String[]args){
Stringpath="d:/file4.txt";
double[]nums=writeToDat(path);
for(inti=0;i<nums.length;i++){
System.out.println(nums[i]);
}
}
}
Ⅲ java 按行读取一个文件,存在字符串数组里,一个元素对应一行,再将这个数组按行输出到一个新的文件里
java 按行读取一个文件,存在字符串数组里,一个元素对应一行,再将这个数组按行输出到一个新的文件里,代码如下:
packagefoo;
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.ArrayList;
importjava.util.List;
/**
*Helloworld!
*
*/
publicclassApp
{
publicstaticvoidmain(String[]args)
{
FilereadFile=newFile("D://home/a.txt");
InputStreamin=null;
InputStreamReaderir=null;
BufferedReaderbr=null;
OutputStreamout=null;
OutputStreamWriterow=null;
BufferedWriterbw=null;
try{
//用流读取文件
in=newBufferedInputStream(newFileInputStream(readFile));
//如果你文件已utf-8编码的就按这个编码来读取,不然又中文会读取到乱码
ir=newInputStreamReader(in,"utf-8");
br= newBufferedReader(ir);
Stringline="";
//定义集合一行一行存放
List<String>list=newArrayList<String>();
//一行一行读取
while((line=br.readLine())!=null){
System.out.println(line);
list.add(line);
}
//将集合转换成数组
String[]arr=list.toArray(newString[list.size()]);
//写入新文件
FilenewFile=newFile("D://home/b.txt");
if(!newFile.exists()){
newFile.createNewFile();
}
out=newBufferedOutputStream(newFileOutputStream(newFile));
//这里也可以给定编码写入新文件
ow=newOutputStreamWriter(out,"gb2312");
bw=newBufferedWriter(ow);
//遍历数组吧字符串写入新文件中
for(intx=0;x<arr.length;x++){
bw.write(arr[x]);
if(x!=arr.length-1){
//换行
bw.newLine();
}
}
//刷新该流的缓冲,这样才真正写入完整到新文件中
bw.flush();
}catch(Exceptione){
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(Exceptione2){
}
}
}
}
热点内容