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){
}
}
}
}
熱點內容